Java 使用ActionBar的SearchView上的Android NullPointerException
我正在尝试在actionbar中实现搜索功能,但它没有按预期工作,当我运行应用程序时,出现以下错误: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:
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>