有了这个小工具的这叫做动作条“搜索查看”。 当它不使用时,它看起来像这样:
而当它在使用时,它看起来是这样的:
我想(编程的过程中)打开搜索查看(使“使用中”的话)。
我试了好几种功能,如:
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setOnQueryTextListener(this);
searchView.performClick();
searchView.requestFocus();
但是,这些都不曾...
在XML中搜索查看:
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView" />
展开SearchView
与
searchView.setIconified(false);
与它崩溃
searchView.setIconified(true);
您需要更改的值android:showAsAction
从ifRoom|collapseActionView
到always
。 该SearchView
的属性android:iconifiedByDefault
应该是true
,这是默认值,否则用户无法折叠SearchView
它编程扩大后。
尝试调用expandActionView()
的菜单项,不onActionViewExpanded()上的ActionView。
这个对我有用。
MenuItem searchMenuItem = menu.findItem(R.id.menu_search);
searchView = (SearchView) searchMenuItem.getActionView();
searchMenuItem.expandActionView();
如果你希望只在必要时使用支持库,做到这一点
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
if (Utils.hasIceCreamSandwich())
searchMenuItem.expandActionView();
else MenuItemCompat.expandActionView(searchMenuItem);
否则只是做到这一点
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
MenuItemCompat.expandActionView(searchMenuItem);
我知道这是迟,但
尝试调用expandActionView()打开它,并collapseActionView()来关闭它。 。你可以通过getActionView()的实际动作视图调用requestFocus()方法来给搜索视图焦点:)