Я пытаюсь реализовать функцию поиска в моей ActionBar, но он не работает, как ожидалось, когда я запустить приложение я получаю следующее сообщение об ошибке:Android NullPointerException на SearchView с помощью ActionBar
java.lang.NullPointerException
at br.com.representemais.FragmentClientes.onCreateOptionsMenu(FragmentClientes.java:80)
линии 80 : searchView.setQueryHint (this.getString (R.string.search));
@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);
}
XML:
<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>
Вы пытались использовать R.id.menu_search вместо Menus.PROCURAR? – bhowden
@bhowden да, я пробовал это – John
Вы пытались получить его с помощью 'this.findViewById (R.id.menu_search)'? –