我遵循这代码在ActionBar中实现了SearchView (作为菜单中的一个项)。
但当我到达这条线
mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();getActionView()返回一个null值。
我不知道是怎么回事。
发布于 2015-07-21 13:43:19
试着替换
mSearchView = (SearchView) menu.findItem(R.id.action_search).getActionView();使用
mSearchMenuItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) MenuItemCompat.getActionView(mSearchMenuItem);发布于 2015-07-21 13:31:28
试试这个..。
private SearchView mSearchView;
....
....
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchItem.getActionView();
setupSearchView(searchItem);
return super.onCreateOptionsMenu(menu);
}
private void setupSearchView(MenuItem searchItem) {
if (isAlwaysExpanded()) {
mSearchView.setIconifiedByDefault(false);
} else {
searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
}
mSearchView.setOnQueryTextListener(this);
}
public boolean onQueryTextChange(String newText) {
//Query
return false;
}
public boolean onQueryTextSubmit(String query) {
//query
return false;
}
public boolean onClose() {
return false;
}
protected boolean isAlwaysExpanded() {
return false;
}别忘了实现搜索视图。
implements SearchView.OnQueryTextListenerhttps://stackoverflow.com/questions/31540235
复制相似问题