为SearchView设置自定义建议

时间:2015-01-28 20:34:01

标签: android searchview

我的ActionBar中有SearchView,此代码建议您在键入时启动应用程序。我使用这段代码:

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    if (searchManager != null) {
        List<SearchableInfo> searchables = searchManager
                .getSearchablesInGlobalSearch();

        // Try to use the "applications" global search provider
        SearchableInfo info = searchManager
                .getSearchableInfo(getComponentName());
        for (SearchableInfo inf : searchables) {
            if (inf.getSuggestAuthority() != null
                    && inf.getSuggestAuthority().startsWith("applications")) {
                info = inf;
            }
        }
    searchView.setSearchableInfo(info);

它看起来像这样:

enter image description here

但我需要的是SearchView只是建议我通过ArrayList提供的字符串。而不是在SearchView提交上启动应用程序,我想简单地用String调用一个方法。无论如何我能做到吗?

2 个答案:

答案 0 :(得分:0)

您必须使用MatrixCursor,自定义CursorAdapter和自定义视图来显示建议。更多信息是here

答案 1 :(得分:0)

你以前处理过Adapters了吗?喜欢ListViews?只需使用您的字符串列表创建一个适配器,并将其设置为SearchView上的建议适配器。

searchView.setSuggestionsAdapter(adapter);