2016-01-06 1 views
1

Я пытаюсь найти представление о значке переполнения. После нажатия на кнопку и откройте иконку переполнения, я попытался с помощью в onoptionsitemselected:Поиск представления значка в меню переполнения

View view = getActivity().findViewById(R.id.menu_tag); // null 
View view = getActivity().findViewById(R.id.mainMenu); // not null. 

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 

<item 
    android:id="@+id/mainMenu" 
    android:title="@string/text" 
    android:orderInCategory="101" 
    android:icon="@drawable/ic_more_vert_white_24dp" 
    app:showAsAction="always"> 
    <menu> 

     <item 
      android:id="@+id/menu_tag" 
      android:icon="@drawable/tag_32" 
      app:showAsAction="always|withText" 
      android:title="@string/tags"/> 
     <item 
      android:id="@+id/menu_profile" 
      android:icon="@drawable/user_32" 
      app:showAsAction="always|withText" 
      android:title="@string/profile"/> 
     <item 
      android:id="@+id/menu_debug" 
      android:icon="@drawable/insect_32" 
      app:showAsAction="always|withText" 
      android:title="@string/debug"/> 
    </menu> 
</item> 
</menu> 

Это дает мне пустой, но работает отлично для ActionBar элементов.

+0

где mainMenu завышен? – Blackbelt

+0

Он должен быть задуман внутренне андроидом, так как он находится в значке переполнения. Но меню переполнения открыто, поэтому оно должно быть раздуто. – user2223032

+0

Я добавляю меню для лучшего понимания. – user2223032

ответ

0

Я нашел решение, установив ActionView в IMAGEBUTTON, а затем найти вид.

0

Вы должны попытаться найти представление в onCreateOptionsMenu метод как это:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    this.optionsMenu = menu; 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menufile, menu); 
    MenuItem item = menu.findItem(R.id.mainmenu); 

return true; 
} 
+0

Спасибо. Но мне нужно использовать эту библиотеку - https://github.com/deano2390/MaterialShowcaseView/blob/master/sample/src/main/java/uk/co/deanwild/materialshowcaseviewsample/CustomExample.java. Вы можете проверить onoptionsitemselected в этой библиотеке. – user2223032

+0

К сожалению, все еще null. Я думаю, что он будет работать только для значков, для которых мы устанавливаем actionview. – user2223032

+0

yes view вернет null, но MenuItem не вернет null, вы можете выполнить операцию над 'item' –