Android:过滤SimpleCursorAdapter列表视图
现在,我在自定义SimpleCursorAdapter中实现FilterQueryProvider时遇到了问题,因为我不确定在FilterQueryProvider的runQuery函数中要做什么 换句话说,由于包含我的ListView的查询基本上从数据库的表中获取rowID、name和第三列,因此我希望能够根据name列的部分值筛选游标 但是,我不确定是否可以在不扩展DB类的情况下直接从runQuery执行此操作,因为我想过滤现有游标,还是必须在DB类中创建一个新的查询函数来部分搜索我的名称列,如果是这样,在runQuery中使用CharSequence约束参数时,如何创建查询语句Android:过滤SimpleCursorAdapter列表视图,android,sqlite,cursor,adapter,Android,Sqlite,Cursor,Adapter,现在,我在自定义SimpleCursorAdapter中实现FilterQueryProvider时遇到了问题,因为我不确定在FilterQueryProvider的runQuery函数中要做什么 换句话说,由于包含我的ListView的查询基本上从数据库的表中获取rowID、name和第三列,因此我希望能够根据name列的部分值筛选游标 但是,我不确定是否可以在不扩展DB类的情况下直接从runQuery执行此操作,因为我想过滤现有游标,还是必须在DB类中创建一个新的查询函数来部分搜索我的名称列
我还担心与尝试基于部分文本运行多个查询相关的性能问题,因为所讨论的DB表大约有1300-1400行。换句话说,我在尝试筛选光标时会遇到瓶颈吗?您需要运行一个查询,该查询将返回一个新的筛选光标:
public class MyActivity extends ListActivity implements FilterQueryProvider {
private Cursor cursor;
@Override
public Cursor runQuery(CharSequence constraint) {
if(cursor != null) {
cursor.close();
}
cursor = somehowGetAFilteredCursorFor(constraint);
startManagingCursor(cursor);
return cursor;
}
}关闭光标会导致奇怪的行为-仅隐藏软键盘后,listview不会立即过滤。logcat中还有关于twicely和更多次关闭游标的警告消息