Null Pointer на расширенном экране для ActionBar Search

У меня есть SearchView в моем ActionBar . У меня также есть MainFragmentActivity которая загружает поиск в onCreateOptionsMenu . Когда я обмениваюсь Fragment s in и out, SearchView работает отлично – за одним исключением: есть на определенном Fragment где я загружаю вот так:

 FragmentTransaction t = fm.beginTransaction(); SherlockListFragment mFrag = new RateReviewFragment(); t.add(R.id.main_frag, mFrag); t.setCustomAnimations(R.anim.animation_leave, R.anim.animation_enter, R.anim.animation_leave, R.anim.animation_enter); t.show(mFrag); t.addToBackStack(null); t.commit(); 

Единственное различие здесь заключается в том, что я добавляю его в backstack. Когда я пытаюсь попасть в SearchView в ActionBar, пока отображается этот фрагмент, или ЛЮБЫЙ Фрагмент После того, как этот фрагмент показывает (после того, как этот фрагмент закрывается, я набираю задний стек и очищаю его), затем я получаю следующую ошибку. Его трудно диагностировать, потому что он не отображается в моем коде.

 06-17 10:03:33.668: E/AndroidRuntime(9224): FATAL EXCEPTION: main 06-17 10:03:33.668: E/AndroidRuntime(9224): java.lang.NullPointerException 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.widget.ActionBarView$ExpandedActionViewMenuPresenter.expandItemActionView(ActionBarView.java:1470) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.view.menu.MenuBuilder.expandItemActionView(MenuBuilder.java:1233) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.view.menu.MenuItemImpl.expandActionView(MenuItemImpl.java:620) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:524) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:131) 06-17 10:03:33.668: E/AndroidRuntime(9224): at android.view.View.performClick(View.java:4102) 06-17 10:03:33.668: E/AndroidRuntime(9224): at android.view.View$PerformClick.run(View.java:17085) 06-17 10:03:33.668: E/AndroidRuntime(9224): at android.os.Handler.handleCallback(Handler.java:615) 06-17 10:03:33.668: E/AndroidRuntime(9224): at android.os.Handler.dispatchMessage(Handler.java:92) 06-17 10:03:33.668: E/AndroidRuntime(9224): at android.os.Looper.loop(Looper.java:155) 06-17 10:03:33.668: E/AndroidRuntime(9224): at android.app.ActivityThread.main(ActivityThread.java:5454) 06-17 10:03:33.668: E/AndroidRuntime(9224): at java.lang.reflect.Method.invokeNative(Native Method) 06-17 10:03:33.668: E/AndroidRuntime(9224): at java.lang.reflect.Method.invoke(Method.java:511) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1029) 06-17 10:03:33.668: E/AndroidRuntime(9224): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:796) 06-17 10:03:33.668: E/AndroidRuntime(9224): at dalvik.system.NativeStart.main(Native Method) 

Это одно из немногих изменений, которые я сделал с тех пор, как я получил эту ошибку:

 android:title="Search" android:showAsAction="always|collapseActionView" 

Кроме того, это в FragmentActivity

 searchView.setOnQueryTextListener(new OnQueryTextListener() { public boolean onQueryTextChange(String arg0) { // TODO Auto-generated method stub return false; } public boolean onQueryTextSubmit(String arg0) { if (searchItem != null) { searchItem.collapseActionView(); } return false; } }); 

Это было реализовано, так что SearchView автоматически закрывается при представлении. Примечание. Я использую ActionBarSherlock .

Я столкнулся с одной и той же проблемой. После многих мучительных проб и ошибок я наконец выяснил, что в моем случае проблема заключалась в установке значка в null:

 getSupportActionBar().setIcon(null); 

ActionBarSherlock критически падает при попытке показать ActionView после этого.

Надеюсь, ваше дело похоже.

Intereting Posts
Вставить git-описание, дату и время в сборке во время компиляции в eclipse Стратегия Android для отслеживания сеанса входа в систему Максимальный лимит просмотра в макете Android xml Android sensorPortrait не работает для режима ретро-портретирования Почему мы используем 10.0.2.2 для подключения к локальному веб-серверу вместо использования IP-адреса компьютера в Android-клиенте Повторное запуск приложения для Android при нажатии пользователем уведомления об урбанском дирижабле Доступ к методу из фрагмента в кнопке Щелчок из MainActivity Вызов активности внутри модуля библиотеки Android Android – автоматическое оверлейное нажатие / выделенное состояние изображения История группы каналов Pubnub Как добавить третью кнопку в диалоговое окно Android Alert? Не удается обновить RecyclerView из моего класса модели? Как ограничить длину EditText до 7 целых чисел и 2 десятичных знаков? Воспроизведение FLV / HTTP в приложении Android Как закрыть приложение для Android?