相关疑难解决方法(0)

如何使用ArrayAdapter为ListView编写自定义过滤器

我有一个ListView连接到ArrayAdapter,其中Artist是我的一个简单类,它只有一个id和一个名字.

现在我想过滤ListView,所以我打电话:

artistAdapter.getFilter().filter("bla", new Filter.FilterListener() {
    public void onFilterComplete(int count) {
        Log.d(Config.LOG_TAG, "filter complete! count: " + count); // returns 8
        Log.d(Config.LOG_TAG, "adapter count: " + artistAdapter.getCount()); // return 1150
    }
});
Run Code Online (Sandbox Code Playgroud)

第一个调试语句打印的计数为8.这是以"bla"开头的listitems的正确计数,但是适配器没有得到它.第二个调试语句打印一个计数1150项.这是列表中的完整项目数.

因此,过滤器不会告诉适配器它已经过滤了底层数据.

我现在想知道:我的适配器中是否有代码,以便从过滤器获取更新?我必须编写自定义过滤器吗?我需要做什么?

android listview android-arrayadapter

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

android-arrayadapter ×1

listview ×1