2014-02-19 43 views
0

快速點擊,即使返回值是真實的 - 這意味着該事件被消耗,不應該被調用 這裏是我的代碼:onMenuItemClick上的動作將調用監聽多次調用幾次

menuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { 
    @Override 
    public boolean onMenuItemClick(MenuItem item) { 
     // blabla... 
     return true; 
    } 
}); 

任何想法爲什麼項目點擊事件發送兩次,即使返回值爲真?

+0

也許你已經爲'menuItem'的父視圖定義了另一個偵聽器? – nKn

+0

沒有。它只是那個監聽器並且在那個特定的菜單項上設置一次。我不重用監聽器。 –

+1

檢查您是否意外在您的XML菜單文件中使用android:onclick屬性。 – Behnam

回答

0

你會嘗試創建一個本地布爾值爲真,並把如果控制裏面onMenuItemClick和點擊後使其爲假?我猜,點擊不會觸發,但它是錯誤的。至少你可以檢查它是否是由onClick或另一個監聽器爲menuItem的父視圖導致的,如nKn所告知的。我的猜測是這是因爲你快速點擊相同的按鈕,因爲延遲執行onClick你通過按幾次來調用onClick。