Android 在actionbar上实时搜索';s searchView

Android 在actionbar上实时搜索';s searchView,android,filtering,searchview,Android,Filtering,Searchview,我想知道如何在操作栏上的搜索视图小部件下面实现/创建列表视图。最后在输入字符串时过滤列表,就像在Google play store上输入的字符串一样。当您调用setSearchableInfo()时。根据培训,这包括添加一行,如 android:searchSuggestAuthority="com.example.MyCustomSuggestionProvider" 到您的searchable.xml。然后,您必须实现一个可以处理传入搜索查询的 SearchManager searchMa

我想知道如何在操作栏上的搜索视图小部件下面实现/创建列表视图。最后在输入字符串时过滤列表,就像在Google play store上输入的字符串一样。

当您调用
setSearchableInfo()
时。根据培训,这包括添加一行,如

android:searchSuggestAuthority="com.example.MyCustomSuggestionProvider"
到您的
searchable.xml
。然后,您必须实现一个可以处理传入搜索查询的

SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setIconifiedByDefault(true);   

    SearchView.OnQueryTextListener textChangeListener = new SearchView.OnQueryTextListener() 
    {
        @Override
        public boolean onQueryTextChange(String cs) 
        {
            YourActivity.this.adapter.getFilter().filter(cs);
            YourActivity.this.adapter.setTextToFilter(cs);
            return false;
        }

        @Override
        public boolean onQueryTextSubmit(String query) 
        {
            YourActivity.this.adapter.getFilter().filter(query);
            YourActivity.this.adapter.setTextToFilter(query);
            return false;
        }
    };
    searchView.setOnQueryTextListener(textChangeListener);
将此代码放在活动的oncreateOptionMenu中


它只使用arrayadapter工作

实际上有一种更简单的方法:OnQueryTextListener@pskink-如果您知道一种将
OnQueryTextListener
链接到SearchView建议下拉列表的方法,请务必写一个答案。但是,您会发现内置的SearchView没有一种机制可以根据正确创建的
内容提供者
的结果提供建议下拉列表。我发现OP不想要下拉列表,而是想要一个单独的可过滤列表视图,即使他想要下拉列表,您也可以使用SetSuggestionAdapter(CursorAdapter适配器)或者我遗漏了什么?@pskink-他提到Play Store,它的搜索下方没有列表视图(而是使用下拉列表)。CursorAdapter需要以自定义建议培训中列出的确切格式返回光标-期待您回答在没有支持ContentProvider的情况下实现过滤我对您的评论有点迷茫,因此您同意您可以使用自己的CursorAdapter,而无需实现ContentProvider和没有声明searchable.xml?谢谢大家,但我想知道你是如何在没有列表视图的情况下实现适配器的。如果有列表视图,你是如何在操作下面实现它的bar@I“amNaolKebede请看下面我的评论