如何在打开文本字段的情况下使用SearchView启动活动。 通过这种方式,我可以搜索而无需点击望远镜。 我正在使用Sherlock Action Bar。
这是我的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
final SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
searchView.setQueryHint("Cerca domande");
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
if (query.length() != 0) {
// handle search here
return true;
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (newText.length()>=3) {
new PostTask().execute(newText);
Util.setSharedPreferences(SearchActivity.this, "lastsearch", newText);
}
return false;
}
});
menu.add("Search")
.setIcon(ic_search_inverse)
.setActionView(searchView)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
listsearch.setOnItemClickListener(this);
return true;
}
感谢。
答案 0 :(得分:15)
试过这个?
searchMenu.expandActionView();
OnCreateOptionsMenu()
中的
menu.add("Search")
.setIcon(ic_search_inverse)
.setActionView(searchView)
.expandActionView();
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
你可以添加焦点,打开软键盘。因此,用户可以输入和搜索所有内容。
但这不是标准行为。
答案 1 :(得分:2)
你可以试试这个:
mSearchView.setIconifiedByDefault(false);