Java 在Android中使用计时器启用和禁用按钮
我在主视图中有两个按钮,按钮1和按钮2。在应该再次启用的特定时间段之后,如何禁用按钮1的特定时间段。以下是一个示例:Java 在Android中使用计时器启用和禁用按钮,java,android,Java,Android,我在主视图中有两个按钮,按钮1和按钮2。在应该再次启用的特定时间段之后,如何禁用按钮1的特定时间段。以下是一个示例: Handler handler = new Handler(); handler.postDelayed(new Runnable(){ @Override public void run(){ button.setEnabled(false); } }, 5000); 休息一下,想想你自己。使用倒计时 说你有按钮1 button1.setEnabled(false
Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
public void run(){
button.setEnabled(false);
}
}, 5000);
休息一下,想想你自己。使用倒计时
说你有按钮1
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方法。您可以调用此方法。试试这个
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();
}
通过调用此方法,您将获得想要的效果
private fun initButton() {
button.setOnClickListener {
it.isEnabled = false
it.postDelayed({ it.isEnabled = true }, 3000)
//do stuff
}
}
这在Kt中起作用,确实需要一个处理程序来使用带有Delays的处理程序。最好使用Timer类中的倒计时计时器,而不是处理程序,因为它的作用域将在活动中。这些解决方案即使在应用程序关闭后也有效吗?我应该将Toast放在哪里?放在onFinish中