我已将 SearchView 添加到过滤 ListView 的 ActionBar。
一切正常,唯一的问题是当我在 SearchView 中编写查询时,查询文本也以大字体出现在屏幕中间的一个框中。
我想这是某种查询预览。我该如何取消呢?我在文档中找不到任何内容。
谢谢。
我已将 SearchView 添加到过滤 ListView 的 ActionBar。
一切正常,唯一的问题是当我在 SearchView 中编写查询时,查询文本也以大字体出现在屏幕中间的一个框中。
我想这是某种查询预览。我该如何取消呢?我在文档中找不到任何内容。
谢谢。
尝试改变你实现 onQueryTextChange 的方式。我评论 listview.clearTextFilter(); 并将其更改为 ca.getFilter().filter(null);
这是我使用的代码
@Override
public boolean onQueryTextChange(String newText) {
System.out.println("tap");
yourAdapter ca = (yourAdapter)listview.getAdapter();
if (TextUtils.isEmpty(newText)) {
System.out.println("isEmpty");
//listview.clearTextFilter();
ca.getFilter().filter(null);
} else {
ca.getFilter().filter(newText);
//listview.setFilterText(newText);
}
return true;
}
那是ListView
(实际上是它的超类AbsListview
]上的文本过滤器。获取ListView
和调用的句柄
yourListview.setTextFilterEnabled(false);
请参阅AbsListView.setTextFilterEnabled(boolean)的 API 文档。
如果你很好奇:他们使用PopupWindow来显示当前输入的查询文本。