我正在使用MaterialSearchView(https://github.com/MiguelCatalan/MaterialSearchView),这是一个在Material Design方法中实现SearchView的库。
它将搜索视图放在工具栏中。但是,不知道如何专注于搜索,以便在行为开始时,搜索立即获得焦点并显示虚拟键盘。只有在我点击搜索图标时它才会聚焦。
MaterialSearchView searchView;
searchView = MaterialSearchView)getActivity().findViewById(R.id.search_view);
searchView.requestFocus();
不起作用。
我是从片段和活动中尝试过的。
由于
答案 0 :(得分:1)
我建议您使用my implementation of MaterialSearchView,无需点击工具栏/操作栏就可以打开它。
例如,在您的Activity
中,您可以执行以下操作:
// Activity:
MaterialSearchView searchView = (MaterialSearchView) findViewById(R.id.search_view);
然后,在代码中的任何位置,您都可以通过调用以下方式打开视图:
searchView.openSearch();
通过致电:
关闭它searchView.closeSearch();
因此,您可以将openSearch()
放在onResume()
内。这样,您Activity
启动时,您始终会打开搜索视图。您也可以通过Button
上的任意Activity
调用该方法。
P.S。:它还支持搜索建议和搜索记录。
加分:有一个gif(它用葡萄牙语显示,但它也支持英语,所以不用担心)。
有关如何设置和查看用例的详细信息,您可以check the docs。
答案 1 :(得分:0)
创建菜单参考对象:
private Menu menu;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
this.menu = menu;
//rest of your code here ...
}
然后在您的Activity的onResume()上,您可以通过编程方式模拟项目点击:
onOptionsItemSelected(menu.findItem(R.id.searhView));