NullPointerException при отображении OptionsMenu

Мне нужно программно создать меню (точно так же, как список вкладок), чтобы включить навигацию в моем приложении. Так что я сделал такой код

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; } 

Но когда я нажимаю кнопку меню, я получаю такое исключение:

 [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 

Я использую панель инструментов из библиотеки поддержки:

 Toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar); SetSupportActionBar(Toolbar); SupportActionBar.SetHomeButtonEnabled(true); SupportActionBar.SetDisplayHomeAsUpEnabled(true); 

На другом телефоне я получаю больше информации о 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) 

Кто-нибудь знает, почему TextView не создан? Что может быть проблемой. У меня много фрагментов в этом упражнении, но не у них есть меню. Если я создаю одиночный значок, например, поиск, все работает. Значок правильно создан, а onclick хорошо обработан. Проблема появляется только тогда, когда пункты меню не отображаются как действие

@РЕДАКТИРОВАТЬ

Мой axml для панели инструментов:

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

У меня была такая же проблема в течение примерно 2 часов. Затем, пробовав все, я решил «Очистить все» от проектов. После того, как я это сделал, все работало как шарм. Еще одна вещь, которую я изменил в проекте и могла бы помочь, заключалась в замене всех нормальных вложений Fragment на файлы Support.v4.

Надеюсь, поможет!

Был такой же вопрос. Для меня решение было не для проекта «Build -> Clean». Это не сработало!

Что работало Surbhit Rao на другой столбец переполнения: как проецировать чистую в андроид-студию?

  1. Нажмите на панель «Грейдл», расположенную в правом верхнем углу Android Studio
  2. Перейдите к вашему проекту, затем Задачи -> сборка -> cleanBuildCache
  3. Щелкните правой кнопкой мыши cleanBuildCache, запустите его.
  4. После этого обязательно запустите «-» «Запустить приложение», чтобы избежать повторения сценария cleanBuildCache.
Intereting Posts
Вручную установите плагин устройства (и другие) в кордову 3.0 Xamarin.Forms XAML – Добавление собственных элементов управления Проверьте, нет ли ландшафта через ADB Добавление в класс интерфейса для пользовательских объектов Вход LIBGDX – количество пальцев, касающихся экрана Как обрабатывать сообщения обработчика, когда действие / фрагмент приостановлено IllegalStateException: активность была уничтожена – когда приложение пытается показать DialogFragment еще раз Как установить фоном приложения для анимирования (Живые обои?) Android ImageButton с выбранным состоянием? Android как справиться с исключением из памяти Перехват ссылок из браузера, чтобы открыть приложение для Android Приложение разбилось после фатального сигнала 11 (SIGSEGV) на 0x00000020 (код = 1) – Android Загружать html-файлы из исходной папки в веб-просмотр Как мне взаимодействовать с Google Docs с Android? Как импортировать исходный код проекта приложения Android в Eclipse?