我在浏览器历史应用程序上工作,并使用CursorAdaptor和getContentResolver().query将书签和历史记录提取到AutoCompleteTextView中,同时应用选择、排序并运行良好。
但我在帖子中看到: 如何过滤 AutoCompleteTextView 的结果?
有人说它必须使用setFilterQueryProvider,有什么理由这样做吗?
复制该帖子中的代码:
cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER},
null,null,null);
adapter.setFilterQueryProvider(new FilterQueryProvider() {
public Cursor runQuery(CharSequence constraint) {
return getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER},
Phone.DISPLAY_NAME + " LIKE '" + constraint + "%'",
null, null);
}
});
为什么不把 WHERE 子句放到 getContentResolver() 中呢?谢谢你的帮助!我是android开发的新手。