其他分享
首页 > 其他分享> > android – listview过滤计数

android – listview过滤计数

作者:互联网

所以在我的listview上设置过滤器之后:

//Log adapter count before filter
listView.getFilter().filter(searchStr)
//Log adapter count after filter

我想要实现的是获得过滤结果的计数.就像之前有10个项目一样,然后我应用过滤器,所以现在只出现5个项目,我想得到那个数“5”.我已经尝试在过滤器之前和之后检查适配器计数,但没有运气.如果我应用过滤器,它们显示相同的计数(我正在使用BaseExpandableListAdapter),如果我再次应用过滤器,则数字会从之前改变(但过滤器的前后仍然相同).

以下是我在日志中获得的示例结果:

Before filter the count is 10. After filter the count is 10.
Before filter the count is 8.  After filter the count is 8.

我想也许我的适配器不能立即获得反射计数,但在第二个过滤器上,它会改变值,所以我认为过滤后的notifyDataSetChanged会有所作为,但事实并非如此.任何帮助,将不胜感激.

谢谢.

解决方法:

这就是我设法做到的方式:

myAdapter.getFilter().filter(searchText, new Filter.FilterListener() {
    public void onFilterComplete(int count) {
         Log.d("log", "result count:" + count);
    }
});

标签:android-adapter,android,filter,android-listview,filtering
来源: https://codeday.me/bug/20191005/1855363.html