尝试使用FilterQueryProvider函数更新ListView的内容,因为字符被输入到过滤器中,我的runQuery函数会被调用,并返回带有过滤内容的新光标,但ListView不会更新为显示新内容。文档声明在runQuery返回后,调用changeCursor。这还不足以更新ListView显示吗?我设置过滤器的代码是:
mAdapter = new ItemAdapter(curs);
mAdapter.setFilterQueryProvider(new ItemFilter());
setListAdapter(mAdapter);
我的过滤器类只是:
class ItemFilter implements FilterQueryProvider {
public Cursor runQuery(CharSequence filter) {
return getNewCursor(filter);
}
}
来自getNewCursor的游标可以正确获取行的子集。我是否遗漏了让ListView更新的内容?