Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


GetActionView () de mi MenuItem return null

Sólo me gustaría modificar la vista de un ActionBar MenuItem por código.

Desafortunadamente, parece que getActionView devuelve siempre null!

Mi código:

@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()); 

El registro es:

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

Muchas gracias por cualquier ayuda

Editar:

 <?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> 

  • Obtener la vista que está recibiendo todos los eventos táctiles
  • El diseño de la vista no se actualiza en el cambio de orientación en android
  • ¿Puedo agregar vistas a una vista de desplazamiento sin inflar / volver a inflar los diseños?
  • Eliminar un OnClickListener en una vista quitar todos los eventos de toque en las vistas detrás
  • Cómo posicionar elementos de menú en la vista de navegación?
  • Actualizar el menú NavigationView después de cambiar la configuración regional
  • ¿Por qué obtengo un error al intentar establecer el contenido de un tabspec en android?
  • Margen de visión establecido para Android por programación
  • 4 Solutions collect form web for “GetActionView () de mi MenuItem return null”

    getActionView() sólo funciona si hay una acción personalizada de setActionView .

    Para mí, la solución que funcionó es usar el espacio de nombres de la aplicación en lugar de Android.

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

    No te olvides de declararlo: xmlns:app="http://schemas.android.com/apk/res-auto"

    Deberías usar

     app:actionLayout="@layout/menu_actionbar_basket" 

    Ese es el truco si usas

     android:actionLayout="@layout/menu_actionbar_basket" 

    Siempre obtendrás una excepción null en la barra de herramientas predeterminada.

    Si su compilación de depuración está funcionando sin ningún problema y el problema es sólo con la compilación de liberación, entonces esto puede ser debido a la configuración proguard. Si ha habilitado proguard en su aplicación, añádala debajo de la línea a proguard-rules.pro

     -keep class android.support.v7.widget.SearchView { *; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.