如何设置适配器动作条来搜索查看 [英] How to set adapter to searchview in actionbar
本文介绍了如何设置适配器动作条来搜索查看的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
设置自定义值来搜索查看适配器....
像我们一样在自动完成,并通过阵列串
感谢名单提前
私人无效setupSearchView(菜单项searchItem){ 如果(isAlwaysExpanded()){
mSearchView.setIconifiedByDefault(假);
}其他{
searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
} SearchManager的SearchManager的=(SearchManager的)getSystemService(Context.SEARCH_SERVICE);
如果(SearchManager的!= NULL){
清单< SearchableInfo>可搜寻= SearchManager的
.getSearchablesInGlobalSearch(); SearchableInfo信息= SearchManager的
.getSearchableInfo(getComponentName());
对于(SearchableInfo INF:可搜寻){
如果(inf.getSuggestAuthority()!=空
&功放;&安培; inf.getSuggestAuthority()。startsWith(应用程序)){
信息= INF;
}
}
mSearchView.setSearchableInfo(信息); } mSearchView.setOnQueryTextListener(本);
}
解决方案
搜索查看
需要的CursorAdapter
仅
不幸的是,这意味着你不能只是提供一个 ArrayAdapter
与项目的数组。如果你真的想用的String []
作为搜索的数据源,我想你可以把它包装成的 MatrixCursor
。
一个例子可以在这里找到:
Setting custom values to searchview adapter ....
like we do in autocomplete and passing array string
Thanx in advance
private void setupSearchView(MenuItem searchItem) {
if (isAlwaysExpanded()) {
mSearchView.setIconifiedByDefault(false);
} else {
searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
}
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (searchManager != null) {
List<SearchableInfo> searchables = searchManager
.getSearchablesInGlobalSearch();
SearchableInfo info = searchManager
.getSearchableInfo(getComponentName());
for (SearchableInfo inf : searchables) {
if (inf.getSuggestAuthority() != null
&& inf.getSuggestAuthority().startsWith("applications")) {
info = inf;
}
}
mSearchView.setSearchableInfo(info);
}
mSearchView.setOnQueryTextListener(this);
}
解决方案
SearchView
takes a CursorAdapter
only:
Unfortunately that means you can't just supply an ArrayAdapter
with an array of items. If you really wanted to use a String[]
as searchable data source, I suppose you could wrap it into a MatrixCursor
.
An example is can be found here:
这篇关于如何设置适配器动作条来搜索查看的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文