2014-12-05 63 views
1

在Nexus 5上运行Android 5.0。我的应用使用v4 Support Library 21.0.0minSdkVersion是11,targetSdkVersion是21.onOptionsItemSelected调用两次

我有一个派生自android.support.v4.app.FragmentActivity的活动。我在操作栏上有许多菜单项。现在,如果我快速双击其中一个操作栏的菜单项,onOptionsItemSelected,调用次数为,从而产生两个菜单触发的子菜单实例!是的,我的菜单处理程序确实返回true

我已经使用了Google,但找不到任何东西。我面临一个错误,或者我错过了什么?我已经实现了这一点,从未遇到过这种奇怪的行为。想法?

+0

你能升级到支持库21.0.2吗?可能会帮助 – petey 2014-12-05 20:28:22

+0

试过。同样的问题 :( – l33t 2014-12-05 20:55:33

回答

0

不知道为什么会发生在最新支持的lib,但在过去,对于任何意见,我用这个解决方案 -

private long mLastClickTime = 0; 

protected boolean isNotAFastClick() { 
    boolean result = true; 
    if (SystemClock.elapsedRealtime() - mLastClickTime < FAST_CLICK_THRESHOLD) { 
      result = false; 
    } 
    mLastClickTime = SystemClock.elapsedRealtime(); 
    return result; 
} 

处理任何点击事件之前,我只需调用方法检查它是否是快速点击。