2016-10-04 4 views
2

Я создаю приложение, где пользователь должен авторизоваться.Как я могу решить проблему с журналом более одного раза?

Но проблема в том, что пользователь нажимает кнопку входа в систему, иногда он должен ждать ответа от сервера (этот период может быть 3,4 или 5 секунд) и, пока он ждет , если он нажмет еще раз на кнопку входа в систему, а затем, когда придут данные с сервера, он будет зарегистрирован в приложении дважды.

Могу ли я решить эту проблему с помощью Singleton или, возможно, есть другое решение?

Заранее спасибо.

+2

Показать загрузку или отключение нажатия до тех пор, пока данные не будут получены – hrskrs

ответ

2

Вы можете просто отключить кнопку входа в систему после того, как пользователь щелкнул ее (пока он ждет ответа сервера).

3

Обычно я выключаю кнопку при нажатии пользователем, а затем, когда кнопка завершает действие, активируйте кнопку.

Пример:

Button signin = (Button) findViewById(R.id.login); 
signin.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
      signin.setClickable(false); 

      //make your logic 

      signin.setClickable(true); 
    } 
}); 

, если вы звоните в Asyncktask внутри кнопки, вы можете включить кнопку в onPostExecute()

1

Вы можете использовать менеджер запроса для управления/отменить запрос. RequestManager.getInstance (getActivity()). CancelAll (REQUEST_TAG);

Это аннулирует все старые запросы & даст только результат последнего.

Смежные вопросы