在Nexus 5上运行Android 5.0。我的应用使用v4 Support Library 21.0.0
。 minSdkVersion
为11,targetSdkVersion
为21。
我的活动源自android.support.v4.app.FragmentActivity
。我在操作栏上有许多菜单项。现在,如果我快速双击其中一个操作栏的菜单项,则onOptionsItemSelected
被调用两次,从而导致我的菜单触发子活动的两个实例!是的,我的菜单处理程序返回true
。
我用谷歌搜索过,但找不到任何东西。我面对一个错误,还是我错过了什么?我过去实现了这一点,从未遇到过这种奇怪的行为。想法?
答案 0 :(得分:0)
不确定为什么会在最新的支持库中发生,但在过去,对于任何观点,我都使用过此解决方案 -
private long mLastClickTime = 0;
protected boolean isNotAFastClick() {
boolean result = true;
if (SystemClock.elapsedRealtime() - mLastClickTime < FAST_CLICK_THRESHOLD) {
result = false;
}
mLastClickTime = SystemClock.elapsedRealtime();
return result;
}
在处理任何点击事件之前,我只需调用该方法来检查它是否是快速点击。