2013-08-12 56 views
1

我遇到了需要爲項目的子菜單實現onOptionsItemSelected偵聽器的情況。菜單XML文件看起來如下:如何實現子菜單項的onOptionsItemSelected選項?

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item 
     android:id="@+id/action_settings" 
     android:orderInCategory="100" 
     android:showAsAction="always" 
     android:title="@string/action_settings"> 

     <menu> 

      <item android:id="@+id/create_new" 
        android:title="Create New" /> 
      <item android:id="@+id/open" 
        android:title="Open" /> 
     </menu> 
    </item> 


    <item android:id="@+id/new_game" 
      android:title="New Game" 
      android:showAsAction="always"/> 


    <item android:id="@+id/help" 
      android:title="Help" 
      android:showAsAction="always"/> 


</menu> 

正如我能夠實現監聽器選項的項目,在這裏,我想知道如何實現對action_settings有子菜單項的動作監聽。 請幫助我解決這個問題我有gogled,但我無法找到確切的解決方案。

回答

0

您可以覆蓋的onClick和做到這一點:

@Override 
    public void onClick(View v) { 
     switch(v.getId()){ 

     case R.id.action_settings: 
      .... 
      break; 
      } 
    } 
+0

我想知道如何實現對action_settings內物品的聽衆......點擊action_setting在彈出菜單的彈出窗口顯示的項目後,我想知道如何實現監聽這些項目action_settings項目內。 – Seenu69

+0

嘗試添加他們的ID在案件和嘗試.. – Sushil

+0

如果你不是我的,你能提供我一個完整的代碼,我正在看什麼? – Seenu69

2

在我的情況下,工作時,我爲挑選出來的每個項目的開關。沒有必要實現一個監聽器方法。

@Override 
     public boolean onOptionsItemSelected(MenuItem item) { 
      switch (item.getItemId()) { 
      case 1: 

       break; 

      case 2: 

       break; 

      case 3: 

       break; 

      default: 
       break; 
      }  

     return true; 
    }