FindViewById para MenuItem devuelve null
Este es mi archivo xml para el menú ActionBar.
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/fav_button" android:title="Favourite" android:icon="@drawable/unstar" android:showAsAction="always|withText" /> </menu>
En mi función onCreate
, después de llamar a setContentView
. I do favButton = (MenuItem) this.findViewById(R.id.fav_button);
Pero esto devuelve null.
- Resaltado Elemento seleccionado en el menú de menú del cajón / deslizante
- Problemas al intentar crear gradle build
- Barra de Acción El Widget de Búsqueda de Sherlock expand no funciona
- El desbordamiento de barras de acción no se muestra
- ¿Cómo mostrar iconos en el menú de desbordamiento de ActionBar?
Pero devuelve el objeto adecuado en la función onOptionsItemSelected
.
Estoy usando ActionBarSherlock, si eso haría la diferencia.
He intentado varias opciones sugeridas por otro findViewById devuelve preguntas nulas, pero no han resuelto mi problema.
- ViewPager + FragmentStatePagerAdapter: ViewPager deja de funcionar cuando cambia la orientación de la pantalla
- ¿Cómo prevenir los incendios onNavigationItemSelected cuando se inicia la actividad?
- Estilos de ActionSherlockBar - PopupMenu
- ActionBar Sherlock Menu Item OnClick
- Cómo diseñar las pestañas Actionbarsherlock
- ¿Cómo enfocar y mostrar el teclado virtual cuando se muestra un EditText en la barra de acción?
- Transición suave entre la actividad de pantalla completa y una con barra de notificación y barra de acción
- Importación de google-play-services lib en Intellij IDEA 12 (y 13)
En lugar de
favButton = (MenuItem) this.findViewById(R.id.fav_button);
In onCreateOptionsMenu después de getMenuInflater (). Inflate (Menú.menu.activity_main, menú);
favButton = menu.findItem(R.id.fav_button);
Utilice menu.findItem () para obtener el menú. Pero esto debe hacerse después de que el menú se infla.
Además, para responder a su q en el comentario, puede utilizar onPrepareOptionsMenu para establecer el estado de su menú. Si este menú es una actualización única, también puede usar onCreateOptionsMenu, que se llama una sola vez.
- Depuración en Moto 360
- Uri Builder en android – '/' reemplazado por '% 2F' y ":" es reemplazado por "% 3A"