【问题标题】:How to set adapter to searchview in actionbar如何在操作栏中将适配器设置为搜索视图
【发布时间】:2013-10-12 05:31:09
【问题描述】:

将自定义值设置为Searchview Adapter

就像我们在自动完成和传递数组字符串中所做的那样

我试过这段代码:

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);
}

【问题讨论】:

标签: android searchview


【解决方案1】:

SearchView 只接受CursorAdapter

不幸的是,这意味着您不能只为 ArrayAdapter 提供一组项目。如果您真的想使用String[] 作为可搜索的数据源,我想您可以将其包装成MatrixCursor

一个例子可以在这里找到:

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 2016-11-05
    • 2017-08-29
    • 2023-03-06
    • 1970-01-01
    • 2015-10-17
    • 2023-03-16
    相关资源
    最近更新 更多