gpt4 book ai didi

java - LazyList 的 ListView 无法用新的数组列表刷新

转载 作者:行者123 更新时间:2023-11-30 08:57:44 25 4
gpt4 key购买 nike

我正在尝试将 searchView 与 LazyList 结合使用。在我的 lazyAdapter 中,我更新了我的 arraylist,这工作顺利,但我的 listview 没有更新 arrayList。这是我的文件管理器方法。我想 notifyDataSetChanged 不起作用。请帮助我如何刷新 ListView ?

public void filter(String charText) {

charText = charText.toLowerCase(Locale.getDefault());
//list.clear();
list = new ArrayList<HashMap<String, String>>();
if (charText.length() == 0) {
list.addAll(arraylist);
}
else
{
for (HashMap<String, String> map : arraylist)
{
if (map.get("radio").toString().toLowerCase(Locale.getDefault()).contains(charText))
{
list.add(map);
}
}
}
notifyDataSetChanged();
}

最佳答案

变量 list 在第三行之后保存了一个不同的对象。您正在更改这个新的 ArrayList 但适配器仍然记得旧的。而不是

list = new ArrayList<HashMap<String, String>>();

list.clear();

然后您将使用与之前相同的对象。

关于java - LazyList 的 ListView 无法用新的数组列表刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27999071/

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