gpt4 book ai didi

java - 频繁点击按钮时显示 Toast

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:07 27 4
gpt4 key购买 nike

我是 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。但是有更简单的方法吗?谢谢。

最佳答案

如果禁用,您的按钮将不会触发 onClick 事件。因此,不要禁用它,而是将颜色设置为灰色或其他使其看起来已禁用,然后在按钮的 onClick 处理程序中:

if(enabled){
btnDelay();
}
else {
sendAToast();
}

然后在 btnDelay() 中,设置 enabled = false(如果需要,可以将颜色设置为灰色),然后在 run() 中> 设置 enabled = true。也不要忘记在你的类的顶部 private boolean enabled = true :)

关于java - 频繁点击按钮时显示 Toast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48265006/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com