我正在构建一个应用程序,用户必须登录。
但问题是,当用户单击“登录”按钮时,有时他必须等待服务器的响应(这段时间可能是3,4或5秒),如果他再次单击“登录”按钮上的,则当他再次单击“登录”按钮时,当来自服务器的数据出现时,他将被登录到应用程序中两次。
我能用Singleton解决这个问题吗?或者还有其他的解决方案?
提前谢谢。
发布于 2016-10-04 07:37:42
您只需在用户单击登录按钮(当用户等待服务器响应时)即可禁用该登录按钮。
发布于 2016-10-04 07:56:45
我通常禁用按钮时,用户单击,然后当按钮完成动作,启用按钮。
示例:
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()中启用该按钮
发布于 2016-10-04 09:12:24
可以使用请求管理器控制/取消请求。RequestManager.getInstance(getActivity()).cancelAll(REQUEST_TAG);
这将取消所有旧的请求&只给出最新请求的结果。
https://stackoverflow.com/questions/39846618
复制相似问题