2016-02-26 101 views
1

我正在android studio中构建一个登录样式应用程序。作为这个的一部分,我创建了一个规则,如果监视无效登录尝试次数的计数器达到0.我目前知道,当计数器变为0时,登录按钮被禁用。我想知道是否有任何方法在一段时间内禁用此按钮,而不是无限?禁用按钮一段时间

switch (counter) { 
    case 0: 
     b1.setEnabled(false); 
    break; 

    case 1: 
     tx1.setBackgroundColor(Color.RED); 
    break; 

    case 2: 
     tx1.setBackgroundColor(Color.YELLOW); 
    break; 
} 
+0

您还必须考虑当方向更​​改以及用户关闭应用程序并重新启动时发生的情况。计数器是否复位,定时器是否结束等? – Nfear

+0

当用户重新启动应用程序时,计数器重置为3.我不介意当用户刷新应用程序时,所有内容都会重置,只要仍处于打开状态的按钮在一段时间内被禁用即可。 – Scarlett

回答

2

使用下面的代码。当你放入OnCreate()方法时,当activity或fragment开始时,它会在5秒后禁用按钮。

new Handler().postDelayed(new Runnable() 
    { 
     public void run() 
     { 
      b1.setEnabled(false); 
     } 
    }, 5000 //Specific time in milliseconds 
); 
+0

非常感谢!这是else语句中最好的地方吗? 'b1.setEnabled(false)'后面的 – Scarlett

+0

;',是的 – EpicPandaForce