MaterialSearchView没有';我不能专注于创业——Android

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 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()上得到一个空指针执行,该菜单为空。不客气!如果你喜欢它,如果它有帮助,不要忘记将答案标记为已接受:)