2010-06-29 87 views
0

好的,這可能很簡單,但我不知道該怎麼做!我通過XML定義了我的菜單,如下所示。它加載和一切。獲取菜單點擊

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/home" 
      android:title="Home" /> 
    <item android:id="@+id/about" 
      android:title="About" /> 
    <item android:id="@+id/quit" 
      android:title="Quit" /> 
</menu> 

現在,通過onOptionsItemSelected(),我該如何判斷哪個菜單項被選中?

這是一個例子...案件會是什麼?

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case 1: 
     Toast.makeText(this, "Home", Toast.LENGTH_LONG).show(); 
     return true; 
    case 2: 
     Toast.makeText(this, "About", Toast.LENGTH_LONG).show(); 
     return true; 
    case 3: 
     Toast.makeText(this, "Quit", Toast.LENGTH_LONG).show(); 
     return true; 
    } 
    return false; 
} 

回答

1

你的case語句應該用在你的XML定義的ID:

case R.id.home: 
    .... 
case R.id.about: 
    .... 
case R.id.quit: 
    .... 
default: 
    throw new IllegalStateException("oops, forgot to code something"); 

默認情況下就是很好的做法恕我直言。 :)

+0

贊,謝謝! – Chiggins 2010-06-29 20:41:07