Java 使用ActionBar的SearchView上的Android NullPointerException

Java 使用ActionBar的SearchView上的Android NullPointerException,java,android,search,android-actionbar,android-menu,Java,Android,Search,Android Actionbar,Android Menu,我正在尝试在actionbar中实现搜索功能,但它没有按预期工作,当我运行应用程序时,出现以下错误: java.lang.NullPointerException at br.com.representemais.FragmentClientes.onCreateOptionsMenu(FragmentClientes.java:80) 第80行:searchView.setQueryHint(this.getString(R.string.search)) XML:

我正在尝试在actionbar中实现搜索功能,但它没有按预期工作,当我运行应用程序时,出现以下错误:

 java.lang.NullPointerException
            at br.com.representemais.FragmentClientes.onCreateOptionsMenu(FragmentClientes.java:80)
第80行:searchView.setQueryHint(this.getString(R.string.search))

XML:


哪一行准确地给出了错误

如果API级别为11或更高,请尝试这样做

SearchView search=(SearchView)menu.findItem(R.id.menu_search).getActionView()

另外,我认为您正在设置hintTextColor的editText实际上是一个textview

TextView searchText=(TextView)searchView.findViewById(android.support.v7.appcompat.R.id.search\u src\u text)


参考这个问题:

刚刚发现了我的问题所在,我不得不将我的类扩展到ActionBarActivity,现在它工作了,谢谢大家

你试过R.id.menu\u搜索而不是Menus.procur吗?@bhowden是的,我试过了。你试过用
这个来获取它吗。findViewById(R.id.menu\u搜索)
?@IanSellar我也试过了……如果你发布一个帖子,它将帮助其他人复制和解决问题。
@Override
    public void onCreate(Bundle savedInstanceState) {
        shouldExecuteOnResume = false;

        super.onCreate(savedInstanceState);
        // TODO Auto-generated method stub
        setContentView(R.layout.fragment_cliente);




    }



@Override
public boolean onCreateOptionsMenu(Menu menu ) {
    // TODO Auto-generated method stub
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);


    searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(Menus.PROCURAR));
    searchView.setQueryHint(this.getString(R.string.search));

    ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text))
    .setHintTextColor(getResources().getColor(R.color.white));
    searchView.setOnQueryTextListener(OnQuerySearchView);



    menu.findItem(Menus.PROCURAR).setVisible(true);



    return super.onCreateOptionsMenu(menu);

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

    <item
        android:id="@+id/menu_search"
        android:icon="@drawable/ic_action_search"
        android:title="@string/search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="ifRoom|collapseActionView"
        />





</menu>