NullPointerException mientras muestra OptionsMenu
Necesito programar el menú (exactamente igual que la lista de las lengüetas) para accionar una navegación en mi app. Así que hice código así
public override bool OnCreateOptionsMenu (IMenu menu) { base.OnCreateOptionsMenu (menu); for (int i = 0; i < fragmentsTabs.Count; i++) { menu.Add(0,100 + i,i,new Java.Lang.String(fragmentsTabs.GetItem(i).Key)); } return true; }
Pero cuando hago clic en el botón del menú me sale una excepción como esa:
- No se puede obtener SyncAdapter para trabajar en Xamarin
- Xamarin.Android no pudo implementar los proyectos en el emulador de Visual Studio para Android
- VM con la versión 1.6.0 no tiene soporte multidex: No se puede encontrar la aplicación Mono.Android.Platform.ApiLevel_23 o Xamarin.Android.Platform
- Cómo preservar / volver a enlazar a los oyentes de eventos en MapFragment después de girar el dispositivo (retrato / paisaje)?
- Reenvío de fuerza de Xamarin.Forms View con procesador personalizado
[AndroidRuntime] java.lang.NullPointerException [AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.setTitle(ListMenuItemView.java:117) [AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.initialize(ListMenuItemView.java:104) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:377) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:219) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:153) [AndroidRuntime] at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:752) [AndroidRuntime] at android.os.Handler.handleCallback(Handler.java:733) [AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:95) [AndroidRuntime] at android.os.Looper.loop(Looper.java:136) [AndroidRuntime] at android.app.ActivityThread.main(ActivityThread.java:5017) [AndroidRuntime] at java.lang.reflect.Method.invokeNative(Native Method) [AndroidRuntime] at java.lang.reflect.Method.invoke(Method.java:515) [AndroidRuntime] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) [AndroidRuntime] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) [AndroidRuntime] at dalvik.system.NativeStart.main(Native Method) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHel08.448 W/ActivityManager( 575): Force finishing activity pl.media30.android.parlament/aplikacjaparlamentandroid.PersonDetailsActivity
Estoy utilizando la barra de herramientas de la biblioteca de soporte técnico:
Toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(Toolbar); SupportActionBar.SetHomeButtonEnabled(true); SupportActionBar.SetDisplayHomeAsUpEnabled(true);
En otro teléfono consigo más información sobre NullPointerException:
[AndroidRuntime] java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference [AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.setTitle(ListMenuItemView.java:117) [AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.initialize(ListMenuItemView.java:104) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:377) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:219) [AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:153) [AndroidRuntime] at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:752) [AndroidRuntime] at android.os.Handler.handleCallback(Handler.java:739) [AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:95) [AndroidRuntime] at android.os.Looper.loop(Looper.java:135) [AndroidRuntime] at android.app.ActivityThread.main(ActivityThread.java:5221) [AndroidRuntime] at java.lang.reflect.Method.invoke(Native Method) [AndroidRuntime] at java.lang.reflect.Method.invoke(Method.java:372) [AndroidRuntime] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) [AndroidRuntime] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Alguien tiene alguna idea de por qué el TextView no se crea? Lo que puede ser un problema. Tengo muchos fragmentos en esta actividad, pero ninguno de ellos está utilizando el menú. Si creo icono único, por ejemplo, la búsqueda, todo está funcionando. El icono está correctamente creado y onclick está bien gestionado. El problema aparece sólo cuando los elementos del menú no se muestran como acción
@EDITAR
Mi axml para la barra de herramientas es:
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary"> <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="end" android:scaleType="fitEnd" android:src="@drawable/side" /> </android.support.v7.widget.Toolbar>
- Mejor opción para la suscripción de eventos
- Problemas al implementar la versión de la aplicación Xamarin.Android
- Xamarin sider.dll falta
- Pasar datos entre los modelos de vista MvvmCross
- Cómo reducir el tamaño de código de usuario para una aplicación Xamarin Forms en Visual Studio 2015?
- Xamarin-Android Mvvmcross - Tocar en la aplicación de inicio de notificación recibida con salpicaduras o llevar al frente
- Monodroid - Manejo de eventos en las vistas secundarias de filas ListView reutilizadas
- Preguntas de Xamarin
Yo estaba teniendo el mismo problema durante unas 2 horas. Luego, después de probar todo, decidí "limpiar todo" los proyectos. Después de que lo hice todo funcionó como un encanto. Otra cosa que cambié en el proyecto y podría ayudar fue reemplazar todas las importaciones normales de Fragmento con las de Support.v4.
¡Espero eso ayude!
Tenía exactamente el mismo problema. Para mí la solución no era "Construir -> Limpiar" el proyecto. ¡Esto no funcionó!
¿Qué funcionó fue Surbhit Rao respuesta a otro puesto de desbordamiento de la pila: ¿Cómo proyectar limpio en el estudio de Android?
- Haz clic en el panel Gradle, que se encuentra en la esquina superior derecha de Android Studio
- Navegue hasta su proyecto, luego Tareas -> build -> cleanBuildCache
- Haga clic derecho en cleanBuildCache, ejecútelo.
- Después de esto, asegúrese de ejecutar -> "Ejecutar aplicación" para evitar ejecutar el script cleanBuildCache una y otra vez.
- Reproducir vídeo en la vista de lista de Android
- Vista de la Web de Android ERR_UNKNOWN_URL_SCHEME Error