gpt4 book ai didi

android - 如何有效地刷新 ListFragment?

转载 作者:行者123 更新时间:2023-11-29 21:49:36 28 4
gpt4 key购买 nike

我有一个带有 ArrayAdapter 的 ListFragment 来显示对象列表。我想刷新 ListFragment 的内容。这些项目本身稍微改变了它们的文本,也改变了它们的顺序。我有一百多个项目,我发现的唯一方法是清除列表并重新添加它们,但这感觉效率低下。

例如:

ListFragment显示无序:

Object A
Object D
Object F
Object B
Object E
Object C

ListFragment显示有序:

Object A
Object B
Object C
Object D
Object E
Object F

我这样设置 ArrayAdapter:

mAdapter = new ArrayAdapter<Store>(mContext,
android.R.layout.simple_list_item_1,
OtherClass.list);
mAdapter.setNotifyOnChange(true);
setListAdapter(mAdapter);

“其他类”是:

public class OtherClass extends Object {

public ListArray<Object> list;
...
}

有问题的代码:

mAdapter.clear();
for (Object o : list) {
mAdapter.add(store);
}

我已经阅读了很多关于它如何工作以及如何使用 mAdapter.notifyDataSetChanged() 的答案,但它们都没有解决我的问题或回答我的问题。 刷新列表的唯一方法是通过在列表中添加/删除某些内容来完成吗?

最佳答案

无论您将适配器附加到什么,比如 listView,都可以通过将其设置为 null 或其他内容来取消附加。

所以不是有问题的代码:

1).对列表进行排序。2).然后调用:

mAdapter = new ArrayAdapter<Store>(mContext,
android.R.layout.simple_list_item_1,
sortedList);
setListAdapter(mAdapter);

我希望这对您有所帮助,因为您的问题仍然有点不清楚。通常,如果您有一个由适配器生成的列表,您不希望手动挖掘该列表,因为它是自动为您生成的,这样做会降低其易用性。

关于android - 如何有效地刷新 ListFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14764265/

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