GetActionView () von meinem MenuItem return null

Ich möchte nur die Ansicht eines ActionBar MenuItem durch Code zwicken.

Leider scheint es, dass getActionView immer wieder null kommt!

Mein Code:

@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = this.getSupportMenuInflater(); inflater.inflate(R.menu.folder, menu); return super.onCreateOptionsMenu(menu); } public boolean onPrepareOptionsMenu(final Menu menu) { MenuItem menuFolder = menu.findItem(R.id.menu_folder); Log.i("", "* onPrepareOptionsMenu *" + menuFolder); Log.i("", "* getActionView *" + menuFolder.getActionView()); 

Log ist:

01-11 22: 13: 42.884: I / (7893): * onPrepareOptionsMenu *com.actionbarsherlock.internal.view.menu.MenuItemWrapper@41401ac8

01-11 22: 13: 42.884: I / (7893): * getActionView * null

Vielen Dank für jede Hilfe

Bearbeiten:

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_folder" android:icon="@drawable/ic_menu_archive" android:showAsAction="always"/> </menu> 

  • SetBackground vs setBackgroundDrawable (Android)
  • Wie überprüfe ich, ob ein ViewStub bereits aufgeblasen ist?
  • WindowManager mit Animation (ist es möglich?)
  • Android Kraft Fragment zum Wiederaufbau von View
  • Erkennen Sie, welche Ansicht Ihr Finger in Android rutscht
  • Blick nach vorne geht nicht
  • Ändern der Größe von AlertDialog auf dem Tastaturdisplay
  • Android DataBinding wo bekommt man Kontext?
  • 4 Solutions collect form web for “GetActionView () von meinem MenuItem return null”

    getActionView() funktioniert nur, wenn es eine benutzerdefinierte actionView von setActionView .

    Für mich ist die Lösung, die gearbeitet hat, App- Namensraum statt Android zu verwenden.

    app:actionViewClass="android.support.v7.widget.SearchView"

    Vergessen Sie nicht, es zu deklarieren: xmlns:app="http://schemas.android.com/apk/res-auto"

    du solltest benutzen

     app:actionLayout="@layout/menu_actionbar_basket" 

    Das ist der Trick, wenn Sie verwenden

     android:actionLayout="@layout/menu_actionbar_basket" 

    Sie erhalten immer eine Null-Ausnahme in der Standard-Symbolleiste.

    Wenn Ihr Debug-Build funktioniert ohne Probleme und Problem ist nur mit Release-Build dann kann dies wegen der Proguard-Konfiguration sein. Wenn du Proguard in deiner Anwendung aktiviert hast, füge bitte die Zeile zu proguard-rules.pro hinzu

     -keep class android.support.v7.widget.SearchView { *; } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.