2016-10-04 56 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);

这将取消所有旧请求&只会给最新的一个结果。