我建立一個應用程序,其中用戶必須登錄。如何通過多次登錄來解決錯誤?
但是,當用戶點擊登錄按鈕有時他必須等待來自服務器的響應(這一時期也許是3,4或5秒),問題是,當他在等待,如果他在登錄按鈕上再次點擊,則當來自服務器的數據到來時,他將登錄應用程序兩次。
我可以用Singleton解決這個問題,或者有其他解決方案嗎?
在此先感謝。
我建立一個應用程序,其中用戶必須登錄。如何通過多次登錄來解決錯誤?
但是,當用戶點擊登錄按鈕有時他必須等待來自服務器的響應(這一時期也許是3,4或5秒),問題是,當他在等待,如果他在登錄按鈕上再次點擊,則當來自服務器的數據到來時,他將登錄應用程序兩次。
我可以用Singleton解決這個問題,或者有其他解決方案嗎?
在此先感謝。
您可以簡單地在用戶單擊後禁用登錄按鈕(當他等待服務器響應時)。
我通常禁用按鈕,當用戶點擊,然後當按鈕完成操作啓用按鈕。
例子:
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()
按鈕您可以使用請求管理器來控制/取消請求。 RequestManager.getInstance(getActivity())。cancelAll(REQUEST_TAG);
這將取消所有舊請求&只會給最新的一個結果。
顯示加載,或禁用點擊直到數據已被提取 – hrskrs