我正在SearchView
根据本指南使用,并尝试像这样折叠搜索视图:
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
mSearchView = (SearchView) MenuItemCompat.getActionView(item);
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
expand = !Helper.isNullOrEmpty(placeHolder);
Log.d("map", "set mSearch view with expand:" + expand + ", queryStr:" + placeHolder);
if (expand) {
MenuItemCompat.expandActionView(item);
// mSearchView.setQuery(placeHolder, false);
} else {
boolean x = MenuItemCompat.collapseActionView(item);
Log.d("map", "coop view:" + x);
}
但是我总是得到这个:
coop view: false
有什么问题?
SearchView
顺便说一句,我对 internal的奇怪行为感到抓狂。你们是用这个还是别的?
更新(为什么我要手动控制搜索视图)
持有 serchview 的活动是我的核心活动,也就是说大部分与搜索相关的工作都会传递给这个活动。
用户可以在其他活动中输入搜索参数并为此活动启动一个新的意图来完成这项工作,然后我必须手动更改搜索视图的状态