2012-08-12 62 views

回答

12

。否則,返回true。

請參閱Documentation

默認情況下,當您返回false時,Android會調用與該項目關聯的Runnable或運行您可以使用MenuItem上的setIntent(...)設置的Intent。如果你不希望發生這種情況,你應該返回true。

假設您按如下方式創建MenuItem。

MenuItem menu1 = new MenuItem(this); 
menu1.setIntent(myIntent); 

這裏myIntent是你想要做的,當菜單項被點擊。例如:假設您的菜單項啓動GMail應用程序發送一封電子郵件,並在您的活動文本視圖上顯示文本。

在你onOptionsItemSelected()回調,您可以檢查文本瀏覽的價值,並返回false如果文本視圖不爲空(你必須在文本框中的東西,你能火Intent到Gmail帳戶),否則顯示一條消息方框中寫着「請先輸入消息」並返回true,這樣Android就不會觸發Intent。

public boolean onOptionsItemSelected (MenuItem item) { 
    if (textView.getText().trim().equals("")){ 
     // show the message dialog 
     return true; 
    } 
    else { 
     // we have some message. We can let android know that 
     // it is safe to fire the intent. 
     return false; 
    } 
} 

希望這會有所幫助... 快樂編碼。

+0

你能否詳細說明「正常處理」? – 2012-08-12 10:43:03

+0

默認情況下,當您返回false時,Android會調用與該項目關聯的'Runnable'或運行'Intent',您可以使用MenuItem上的setIntent(...)設置它。如果你不希望發生這種情況,你應該返回true。 – Madushan 2012-08-12 10:46:55

+0

你能用一點代碼來詳細說明嗎?我是一個小菜,所以我很難理解 – 2012-08-12 10:53:04

3
如果處理該事件,則返回true

,否則返回false

相關問題