【发布时间】:2014-05-29 08:28:26
【问题描述】:
如果您快速点击 2 个单独的按钮,甚至是同一个按钮,Android 将同时处理这两个点击事件。当它可以启动两次服务、两次显示对话框、或相互启动活动等时,这将成为一个问题。
防止双击单个按钮的修复非常简单,答案在 StackOverflow 上。您可以使用布尔标志简单地检查按钮是否已被单击,并停止处理任何进一步的单击事件。
我的问题是用户可能会快速按下两个(或更多)不同的按钮(或列表项或 ActionBar 项等)。处理“已单击按钮 x -> 更好地禁用按钮 x、y、z”的每个组合将非常乏味且容易出错。
有没有人对此有一个体面的解决方案?
【问题讨论】:
-
one 布尔标志怎么样:
carryOn- 指示是继续处理输入事件 - 还是处理掉它。所以,基本上会有两种状态 - 检查内部事件监听器==> if (carryOn) { carryOn = false; ... } 完成后,您还需要释放锁。听起来确实很麻烦。我希望有人发布更好的答案。
标签: android