gpt4 book ai didi

android - notifyDataSetChanged() 在 daimajia AndroidSwipeLayout 中不起作用

转载 作者:行者123 更新时间:2023-11-30 01:36:22 25 4
gpt4 key购买 nike

我正在尝试在我的项目中使用 AndroidSwipeLayout (https://github.com/daimajia/AndroidSwipeLayout)。一切正常,符合我的要求。

问题是,当我尝试过滤 ListView 时,我无法更新数据集。

有一个 Unresolved 问题 https://github.com/daimajia/AndroidSwipeLayout/issues/258对于我提到的相同问题

谁能帮我解决这个问题

或任何替代库

最佳答案

不太理想的解决方法:替代方法是使用过滤列表重置适配器。

假设您在适配器中有您的列表,维护一个副本以过滤列表中的项目。使用筛选列表重置适配器。

伪代码:

ArrayList<CustomObject> originalList;
ArrayList<CustomObject> filteredList;

filteredList = new ArrayList<>();
filteredList.addAll(originalList);

setAdapter(filteredList); //Sets the adapter with filtered List.

//In your searchView implementation

private void onSearchQuery(String searchString) {
if( searchString == null || searchString.trim().length() == 0 ) {
filteredList.clear();
filteredList.addAll(originalList);
//Since adapter.notifyDataSetChanged() is not working.
setAdapter(filteredList); //Sets the adapter with filtered List.
}
else {
filteredList.clear();
for( CustomObject customObject : originalList ) {
if( customObject.getSearchableField().contains(searchString) ) {
filteredList.add(customObject);
}
}
//Since adapter.notifyDataSetChanged() is not working.
setAdapter(filteredList); //Sets the adapter with filtered List.
}
}

关于android - notifyDataSetChanged() 在 daimajia AndroidSwipeLayout 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35053150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com