MaterialSearchView没有';我不能专注于创业——Android
我正在使用MaterialSearchView(),这是一个在材质设计方法中实现SearchView的库 它会在工具栏中放置一个searchview。但是,我不知道如何专注于搜索,因此当活动开始时,搜索会立即获得焦点,并出现虚拟键盘。只有单击搜索图标,它才会聚焦MaterialSearchView没有';我不能专注于创业——Android,android,material-design,android-toolbar,Android,Material Design,Android Toolbar,我正在使用MaterialSearchView(),这是一个在材质设计方法中实现SearchView的库 它会在工具栏中放置一个searchview。但是,我不知道如何专注于搜索,因此当活动开始时,搜索会立即获得焦点,并出现虚拟键盘。只有单击搜索图标,它才会聚焦 MaterialSearchView searchView; searchView = MaterialSearchView)getActivity().findViewById(R.id.search_view); s
MaterialSearchView searchView;
searchView = MaterialSearchView)getActivity().findViewById(R.id.search_view);
searchView.requestFocus();
不起作用
我从片段和活动中尝试了它
谢谢创建菜单引用对象:
private Menu menu;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
this.menu = menu;
//rest of your code here ...
}
然后在活动的Resume()上,您可以通过编程方式模拟项目单击,如下所示:
onOptionsItemSelected(menu.findItem(R.id.searhView));
我建议您使用,无需单击工具栏/操作栏即可打开它 例如,在
活动中
可以执行以下操作:
// Activity:
MaterialSearchView searchView = (MaterialSearchView) findViewById(R.id.search_view);
然后,在代码中的任何位置,您都可以通过调用以下命令打开视图:
searchView.openSearch();
searchView.closeSearch();
然后通过调用以下命令关闭它:
searchView.openSearch();
searchView.closeSearch();
例如,您可以将openSearch()
放在onResume()中。这样,当活动开始时,您将始终打开搜索视图。您也可以从活动
上的任何按钮
调用该方法
p.S.:它还支持搜索建议和搜索历史记录
奖励:有一个gif(它是用葡萄牙语显示的,但也支持英语,所以不用担心)
有关如何设置和查看用例的更多信息,您可以。您的意思是“搜索”视图将在活动开始时打开吗?如果检查库,您将找到一个函数showSearch()
,用于打开搜索视图。在调用视图上的请求焦点时,视图的focusable和focusableInTouchMode在xml中应设置为true。尝试在xml中将focusable和focusableInTouchMode设置为true。我在onResume()上得到一个空指针执行,该菜单为空。不客气!如果你喜欢它,如果它有帮助,不要忘记将答案标记为已接受:)