2016-11-15 6 views
-1

я пытаюсь сделать поиск пользовательских ListView, но я получил некоторые проблемы с NullPointerExceptionКак я решить ListView NullPointerException в SearchView

там ошибка в line76, LogCat:

java.lang.NullPointerException 
                       at com.aeu.mlibrary.mlibraryaeu.SearchFragment.onCreateOptionsMenu(SearchFragment.java:76) 

, когда я проверить в строке 76 этот код:

@Override 
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 

    inflater.inflate(R.menu.activity_main_actions, menu); 

    MenuItem myActionMenuItem = menu.findItem(R.id.item_search); 
    final SearchView searchView = (SearchView) myActionMenuItem.getActionView(); 
    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
     @Override 
     public boolean onQueryTextSubmit(String query) { 
      return false; 
     } 

     @Override 
     public boolean onQueryTextChange(String newText) { 
      if (TextUtils.isEmpty(newText)) { 
       adapter.filter(""); 
       lvSearch.clearTextFilter(); 
      } else { 
       adapter.filter(newText); 
      } 
      return true; 
     } 
    }); 

    super.onCreateOptionsMenu(menu, inflater); 
} 

линия 76:

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 

и это мой menu.xml:

<item android:id="@+id/itemSearch" 
    android:actionViewClass="android.widget.SearchView" 
    android:icon="@mipmap/ic_search_white_48dp" 
    android:title="@string/action_search" 
    app:showAsAction="ifRoom" /> 

мне нужна ваша помощь, ребята!

+0

Изменить эту строку в атрибут элемента: приложение: showAsAction = "ifRoom | collapseActionView" приложение: actionViewClass = "android.support.v7.widget.SearchView" – Rajan1404930

+0

@ Rajan1404930 я попробовать это тогда я был новый LogCat: – Onosibiw

+0

@ Rajan1404930 'java.lang.ClassCastException: android.widget.SearchView не может быть добавлен в android.support.v7.widget.SearchView в com.aeu.mlibrary.mlibraryaeu.SearchFragment.onCreateOptionsMenu (SearchFragment.java:76)' – Onosibiw

ответ

0
SearchView searchView = (SearchView) menu.findItem(R.id.itemSearch); 

Это само по себе даст вам объект searchView. Я думаю, что getActionView() является причиной исключения нулевого указателя.

+0

им жаль @SoulRayder, я только что редактировал мой код, можете ли вы снова проверить, что не так с моим кодом? благодаря – Onosibiw

Смежные вопросы