【发布时间】:2018-01-15 22:48:47
【问题描述】:
我是 Android 开发新手,所以请原谅这个问题。
所以我有一个按钮,当点击它时,它会调用一个名为btnDelay(btnName)的方法。
在那个方法里面是这行代码:
private void btnDelay(final Button btn){
btn.setEnabled(false);
/*if (counter == 0){
counter++;
}*/
Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
btn.setEnabled(true);
}
});
}
}, 5000);
}
这将禁用按钮 5 秒。
现在我想做的是当用户再次点击按钮并且5秒没有完成时,会显示一个Toast,说明用户的动作太频繁了。
有什么办法可以做到这一点吗?我正在考虑使用一个计数器来计算用户单击该特定按钮的次数,并在 TimerTask 完成 5 秒后重置为 0。但是有没有更简单的方法来做到这一点?谢谢。
【问题讨论】:
-
不会调用该方法,因为禁用的按钮无法监听事件。
-
@NongthonbamTonthoi 哦!我错过了那个微小的细节。谢谢你的澄清。那么解决这个问题的更好/最好的方法是什么?