我在主视图中有两个按钮,Button1和Button2。如何在该时间段之后的特定时间段内禁用Button1,它应该再次启用。
答案 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中有效,确实需要处理程序