我创建了一个搜索视图,我喜欢在启动搜索时关注搜索视图,在参考了一些stackoverflow的问题之后,我得到了一个指向setIconifiedBydefault(false);但它不起作用,当我触摸搜索图标时它会起作用。如果我错了,请指导我,这是我的代码。
public boolean onCreateOptionsMenu(Menu menu) {
final SearchView searchView = new SearchView(this);
searchView.setIconifiedByDefault(false);
searchView.setQueryHint(this.getResources().getString(R.string.search_hint));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
try {
query = URLEncoder.encode(query, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
searchView.clearFocus();
Intent intent = new Intent(getApplicationContext(), SearchActivity.class);
intent.putExtra("query", query);
intent.putExtra("search", "true");
startActivity(intent);
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});
//TODO make menu an xml item
menu.add("search")
.setIcon(R.drawable.ic_action_search)
.setActionView(searchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM|MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
return true;
}
答案 0 :(得分:0)
我认为你需要调用expandActionView()。
...
menu.add("search")
.setIcon(R.drawable.ic_action_search)
.setActionView(searchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM|MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
searchView.expandActionView();
...