Android,限制同一按钮多次按下

Android,限制同一按钮多次按下,android,Android,我的应用程序中有按钮,可以做各种事情。我遇到的一个问题是,在启用/处理/计算按钮的功能之前,可以多次按下该按钮 范例 当我按下一个按钮时{一个整数应该加上1,除非它是最大值 当我按下按钮时{会显示一个对话框(只显示一次) 在这两种情况下,如果我缓慢按下,我没有问题,但如果我快速按下,整数将超过其最大值,或者将显示多个对话框 有人能给我指出正确的方向来处理这个问题吗。当输入按钮处理程序以表示任务正在执行时,听起来好像您可以简单地设置一个布尔值。如果您输入函数且该值已为true,则只需返回即可(或者

我的应用程序中有按钮,可以做各种事情。我遇到的一个问题是,在启用/处理/计算按钮的功能之前,可以多次按下该按钮

范例

当我按下一个按钮时{一个整数应该加上1,除非它是最大值

当我按下按钮时{会显示一个对话框(只显示一次)

在这两种情况下,如果我缓慢按下,我没有问题,但如果我快速按下,整数将超过其最大值,或者将显示多个对话框


有人能给我指出正确的方向来处理这个问题吗。

当输入按钮处理程序以表示任务正在执行时,听起来好像您可以简单地设置一个布尔值。如果您输入函数且该值已为
true
,则只需返回即可(或者只需禁用按钮,直到操作完成)


我对android不太了解,我也不知道任务是否在不同的线程中运行,或者是否有多个单击正在排队,在这种情况下,布尔值不会有帮助,因为它将以串行方式发生。在这种情况下,正如我前面所建议的,只需在任务进行时禁用按钮(无论如何,这可能是个好主意).

我建议禁用并不是那么方便用户,我看到用户正在选择按钮,在下一个操作发生之前,他有很多时间,并询问他为什么会多次单击。在这种情况下,只要捕获单击,您就可以显示循环进度对话框,这会显示用户正在执行某些操作,并且他您也不能单击按钮。 设置计数器后,关闭对话框 或第二种情况,即将打开对话框ProgressDialog=ProgressDialog.show(MyActivity.this,“,
“正在加载。请稍候…”,true);然后dialog.disclose()完成后

我可以看到多个对话框将如何显示,但int如何通过其最大值?您不是在递增之前进行测试吗?还是递增是在单独的线程上进行的?