2016-11-15 50 views
-1

我試圖使自定義列表視圖進行搜索,但我得到了一些麻煩與NullPointerException異常我怎麼解決的ListView的NullPointerException在搜索查看

中存在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 at com.aeu.mlibrary.mlibraryaeu.SearchFragment.onCreateOptionsMenu(SearchFragment.java:76)' – Onosibiw

回答

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

這本身會讓你searchView對象。我認爲getActionView()是空指針異常的原因。

+0

im sorry @SoulRayder,我剛剛編輯了我的代碼,你能再次檢查我的代碼有什麼問題嗎?謝謝 – Onosibiw