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