Android cursoradapter过滤器 ListView

标签 android listview

我正在尝试使用 cursoradapter 过滤我的 ListView 。到目前为止,这是我尝试过的:

CustomAdapter adapter;
Cursor cursor;

etSearch.addTextChangedListener(new TextWatcher (){

        public void afterTextChanged(Editable arg0) {
            // TODO Auto-generated method stub

        }

        public void beforeTextChanged(CharSequence arg0, int arg1,
                int arg2, int arg3) {
            // TODO Auto-generated method stub

        }

        public void onTextChanged(CharSequence cs, int arg1, int arg2,
                int arg3) {
            // TODO Auto-generated method stub

            adapter.getFilter().filter(cs.toString());

        }

    });

cursor = dbHelper.getAllItemInventoryListings();

    adapter = new CustomAdapter(this, cursor);

    lv.setAdapter(adapter);
    lv.setTextFilterEnabled(true);

    adapter.setFilterQueryProvider(new FilterQueryProvider() {

        @Override
        public Cursor runQuery(CharSequence constraint) {

            String strItemCode = constraint.toString();
            return dbHelper.getAllItemInventoryListings(strItemCode);

        }
    });

当我尝试时它不过滤。似乎出了什么问题?您的帮助将不胜感激。谢谢。

最佳答案

尝试在 adapter.getFilter().filter(cs.toString()); 之后添加 adapter.notifyDataSetChanged();

关于Android cursoradapter过滤器 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21593379/

相关文章:

android - 当手机横向时我想要软键盘

android - 在选择器中更改可绘制对象的颜色

wpf - 无法在按钮单击的列表框中添加项目

php - 如何使用 PHP 从 Mysql 数据库获取结果创建多项选择 Android ListView ?

android - 使用 ListView 删除 BaseAdapter 中的 ConvertView Run Time

android - ListView长按动画

android - onReceive 中的对话框抛出异常 : unable to add window -- token null is not

android - 如何使通知 Intent 恢复而不是新的 Intent ?

java - 找不到符号变量 ic_launcher

android - SectionIndexer 如何影响 Android 快速滚动?