2016-08-05 104 views
0

这不是一个重复的,作为我的问题书面我已经尝试了thoes解决方案,并得到了同样的错误。菜单SearchView不被识别

我有以下代码:

MainActivity

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu, menu); 
    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 

    SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); 

     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 
      @Override 
      public boolean onQueryTextSubmit(String query) { 
       search(query); 
       return true; 
      } 

      @Override 
      public boolean onQueryTextChange(String query) { 
       //filterSearchFor(query); 
       return true; 
      } 
     }); 
     return true; 
    } 

菜单/ menu.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context=".MainActivity"> 

    <android.support.v7.widget.SearchView 
     android:id="@+id/search" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 
</menu> 

我得到这个错误:

FATAL EXCEPTION: main 
                    Process: com.pgoiv.pokemongoiv, PID: 5336 
                    java.lang.NullPointerException: Attempt to invoke interface method 'android.view.View android.view.MenuItem.getActionView()' on a null object reference 
                     at com.pgoiv.pokemongoiv.MainActivity.onCreateOptionsMenu(MainActivity.java:192) 
                     at 

试过的人谁了同样的错误几个解决方案..无法弄清楚什么是错的..

似乎likt menu.findItem(R.id.search)找不到我搜索查看虽然它的存在,你可以在我的XML文件中看到..

回答

1

您不能在此菜单中插入SearchView。试试menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context=".MainActivity"> 

    <item 
     android:id="@+id/action_search" 
     android:orderInCategory="100" 
     android:title="Search" 
     android:icon="@drawable/ic_menu_search" 
     app:showAsAction="ifRoom|collapseActionView" 
     app:actionViewClass="android.support.v7.widget.SearchView"/> 

</menu>