1

我在浏览器历史应用程序上工作,并使用CursorAdaptorgetContentResolver().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开发的新手。

4

0 回答 0