gpt4 book ai didi

android - 如何防止 notifyDataSetChanged 折叠 ExpandableListView 中的打开组?

转载 作者:行者123 更新时间:2023-11-29 01:32:09 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个动态的 ExpandableListView 以及一个刷新按钮。当用户点击刷新按钮时,会下载最新的数据,我会调用 notifyDataSetChanged() 来更新 UI。

问题是 notifyDataSetChanged() 折叠了之前打开的所有组,这给用户带来了糟糕的体验。有什么办法可以避免这种情况?

谢谢

最佳答案

这是我使用的方法。 setExpandedGroup()在更新您的 UI 之前, 然后 getExpandedIds()更新后。还有我的idsExpand = new ArrayList<Integer>()Integer数组。

public static void setExpandedGroup() {
if (expListView != null
&& expListView.getExpandableListAdapter() != null) {
final int groupCount = expListView.getExpandableListAdapter().getGroupCount();
for (int i = 0; i < groupCount; i++) {
if (expListView.isGroupExpanded(i)) {
idsExpand.add(i);
}
}
}

}

public static void getExpandedIds() {
if (idsExpand != null) {
final int groupCount = idsExpand.size();
for (int i = 0; i < groupCount; i++) {
if (expListView != null) {
try {
expListView.expandGroup(idsExpand.get(i));
} catch (Exception ignored) {
}

}

}
}
}

希望对您有所帮助!

关于android - 如何防止 notifyDataSetChanged 折叠 ExpandableListView 中的打开组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30573107/

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