Android 按钮事件在快速按下时发生两次

Android 按钮事件在快速按下时发生两次,android,button,Android,Button,点击按钮调用事件或在快速按下时执行其相应的方法多达次?在android中处理此问题的最佳方法是什么?点击是一个常见事件,我在使用时从未遇到过问题。 您可以尽可能快地“点击”,并且每次都应引发事件 onClick(View v) { MultiClickPreventer.preventMultiClick(v); //your op here } }正如您所提到的,在onClick()中处理第一个单击事件之前,可能会有多个按钮单击事件排队,因此简单地调用setClickable(fa

点击按钮调用事件或在快速按下时执行其相应的方法多达次?在android中处理此问题的最佳方法是什么?

点击是一个常见事件,我在使用时从未遇到过问题。 您可以尽可能快地“点击”,并且每次都应引发事件

onClick(View v) { 
MultiClickPreventer.preventMultiClick(v); 
//your op here 
} 


}

正如您所提到的,在
onClick()
中处理第一个单击事件之前,可能会有多个按钮单击事件排队,因此简单地调用
setClickable(false)
setEnabled(false)
并不总是有效

但是,即使您可以让多个事件排队,它们也将始终在同一个线程上处理,这意味着始终会有一个第一个单击事件

存储自己的
boolean
,第一次只执行
onClick()
操作

private boolean firstEvent = true;

public void onClick(View v) {
    if (firstEvent) {
        firstEvent = false;
        // your code here
    }
}

看看这个…这个问题很难理解。解释你做了什么,解释实际发生了什么,然后解释你想发生什么。多用些词。请朋友帮你用清晰的英语写问题可能会很有用。实际上,这是一种形式,当用户按下提交按钮时,条目被保存。我的应用程序用户抱怨应用程序中的条目被打孔了,我以一种简单的方式使用了上述方法,即采用时间间隔变量和连续打孔不到2秒我只是返回,但我仍然面临问题使用这种方法,先生,但对我不起作用事件在clickable设置为False之前存储在队列中但我的表单中有多个按钮,为每个按钮设置布尔值不是一个好的做法。但我显示警报对话框并大约3到4个按钮。如果在提交时进行网络调用时出现任何网络连接问题,您是否认为为所有按钮设置单独的变量并将其全部设置为true是一个好主意?如果您需要为按钮设置特殊行为,您将不得不编写代码来创建该特殊行为。
private boolean firstEvent = true;

public void onClick(View v) {
    if (firstEvent) {
        firstEvent = false;
        // your code here
    }
}