在SearchView中过滤文本显示而不是删除

时间:2014-05-25 16:07:25

标签: android android-listview searchview type-hinting

Here's the screenshot of searchview implementation附件是搜索视图实施的屏幕截图,其中listview活动成功运行。但是,在搜索视图上的任何文本搜索中,它会显示灰色吐司般的功能,显示用户输入的内容以过滤列表。如何删除它,因为它阻止我在后台显示列表视图?

1 个答案:

答案 0 :(得分:5)

您必须将适配器放置在单独的过滤器中。代码看起来像这样。

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, android.R.id.text1,
                stringlist);
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true);
Filter filter = adapter.getFilter();

在收听文本查询时,如果您的代码看起来像这样

@Override
public boolean onQueryTextChange(String newText) {
    if (TextUtils.isEmpty(newText)) {
        listView.clearTextFilter();
    } else {
        listView.setFilterText(newText.toString());
    }
    return true;
}

只需将其更改为

即可
@Override
public boolean onQueryTextChange(String newText) {
   if (TextUtils.isEmpty(newText)) {
        filter.filter(null);
   } else {
        filter.filter(newText);
   }
   return true;
}