点击按钮调用事件或者按下非常快的时间执行相应的方法多少次?在android中处理这个问题的最佳方法是什么?
答案 0 :(得分:0)
on_tap是一个常见的事件,我从来没有遇到过这个问题。 你可以轻拍"尽可能快,每次都应该提出这个事件。
答案 1 :(得分:0)
onClick(View v) {
MultiClickPreventer.preventMultiClick(v);
//your op here
}
...
public class MultiClickPreventer {
private static final long DELAY_IN_MS = 500;
public static void preventMultiClick(final View view) {
if (!view.isClickable()) {
return;
}
view.setClickable(false);
view.postDelayed(new Runnable() {
@Override
public void run() {
view.setClickable(true);
}
}, DELAY_IN_MS);
}
}
答案 2 :(得分:0)
正如您所提到的,在onClick()
处理第一次点击事件之前,可以将多个按钮点击事件排入队列,因此只需调用setClickable(false)
或setEnabled(false)
赢取'总是有效。
但是,即使您可以将多个事件排队,但它们将始终在同一个线程上处理,这意味着始终会有第一个点击事件。
存储您自己的boolean
,并且只在第一次执行onClick()
次操作。
private boolean firstEvent = true;
public void onClick(View v) {
if (firstEvent) {
firstEvent = false;
// your code here
}
}