在Android中使用Timer启用和禁用按钮

时间:2016-12-28 18:58:01

标签: java android

我在主视图中有两个按钮,Button1和Button2。如何在该时间段之后的特定时间段内禁用Button1,它应该再次启用。

4 个答案:

答案 0 :(得分:2)

使用倒数计时器。

假设你有按钮button1;

button1.setEnabled(false);
new CountDownTimer(5000, 10) { //Set Timer for 5 seconds
        public void onTick(long millisUntilFinished) {
        }

        @Override
        public void onFinish() {
               button1.setEnabled(true);
        }
    }.start()

Aba:应用正确的View.setEnabled方法。

答案 1 :(得分:1)

以下是一个例子:

Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
  public void run(){
    button.setEnabled(false);
}
}, 5000);

休息,弄清楚自己。

答案 2 :(得分:0)

您可以调用此方法。尝试一次

private void blink(){
    final Handler handler = new Handler();
    new Thread(new Runnable() {
        @Override
        public void run() {
            int timeToBlink = 5000;
            try{
                Thread.sleep(timeToBlink);
            }catch (Exception e) {

            }
            handler.post(new Runnable() {
                @Override
                public void run() {

                    if(button.isEnabled()){
                        button.setEnabled(false);
                    }else{
                        button.setEnabled(true);
                    }
                    blink();
                }
            });
        }
    }).start();
}

通过调用此方法您将获得所需的效果

答案 3 :(得分:0)

private fun initButton() {
    button.setOnClickListener {

        it.isEnabled = false
        it.postDelayed({ it.isEnabled = true }, 3000)

        //do stuff
    }
}

这在Kt中有效,确实需要处理程序