我正在开发浏览器历史记录应用程序, 并使用 CursorAdaptor 和 getContentResolver()。查询将书签和历史记录提取到 AutoCompleteTextView 中, 同时应用选择,排序并且运作良好。
但我在帖子中看到: How to filter results of 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开发的新手。