我在操作栏中有SearchView.当用户单击它时它会展开,然后出现键盘.这是预期的行为.但是,在我的应用中,有一种情况是我以编程方式扩展SearchView.
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
MenuItemCompat.expandActionView(searchMenuItem);
在这种情况下,我不想显示键盘.我以编程方式扩展SearchView只是为了向用户显示什么是最后一个搜索查询.
那么可以在不显示键盘的情况下打开搜索视图吗?
解决方法:
我使用以下方法解决了我的问题:
@Override
public void onPrepareOptionsMenu(Menu menu) {
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.menu_search));
if(!TextUtils.isEmpty(mSearch)){
searchView.setQuery(mSearch, false);
searchView.setIconified(false);
searchView.clearFocus();
}
}
让我知道这段代码是否可以解决您的问题.