2014-12-05 105 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; 
} 

處理任何點擊事件之前,我只需調用方法檢查它是否是快速點擊。