Android中的Button事件是否必须明确禁用?

时间:2013-09-07 17:57:23

标签: android button

所以我是Android新手,拥有这款拥有各种按钮的应用程序。按钮可以执行各种操作,但特别感兴趣的是用于其他活动的按钮。

因为我很高兴编程和测试,我发现我可以加倍,有时三次点按这些按钮。

我在Button对象上查找允许我指定允许按钮的单击次数或单击后是否应该(甚至短暂地)禁用按钮的方法。我什么都没发现。

不可思议,我开始谷歌搜索这种奇怪的行为的高级别讨论。我找不到有趣的讨论,只是关于如何在我的应用程序中的每个按钮上处理问题的建议。

叹了口气,我屈服于我项目的时间要求,并将私有变量添加到我的活动中(Java中没有静态本地。废话。),点击处理方法使用它来判断它是否已经忙于处理点击一下按钮。

但我仍然想知道。 必须明确禁用Android 中的按钮事件

编辑:我正在寻找表单的答案:“是(或否),我知道必须明确禁用它们,因为X”。

2 个答案:

答案 0 :(得分:1)

平台不能假设您只想让按钮被点击一次,或者您应该多久点击一次按钮。只需添加逻辑即可在单击按钮后禁用该按钮,例如:

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick (View v) {
        v.setEnabled(false);
        //Do other stuf
    }
});

答案 1 :(得分:0)

您可以使用droidQuery设置按钮或一组按钮来处理第一次点击事件,然后不再使用任何将来的点击事件。例如:

$.with(button).one("click", new Function() {
    @Override
    public void invoke($ d, Object... params) {
        //Do stuff - this will only happen on the first click event
    }
});