2013-08-12 2 views
1

Я столкнулся с ситуацией, когда мне нужно реализовать onOptionsItemSelected прослушиватель для subMenu элемента. Файл меню XML выглядит, как показано ниже:Как реализовать onOptionsItemВыбран для элементов подменю?

<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, которые имеют элементы подменю. Прошу помочь мне в этом вопросе, но я не смог найти точного решения.

ответ

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

попытайтесь добавить свои идентификаторы на случай и попробуйте. – 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; 
    } 
Смежные вопросы