gpt4 book ai didi

Android的ExpandableListView : Keep groups expanded/unexpanded when removing an item

转载 作者:太空狗 更新时间:2023-10-29 14:23:13 24 4
gpt4 key购买 nike

我有一个带有 ExpandableListView 的 Activity 。我使用扩展 BaseExpandableListAdapter 的自定义适配器填充列表(我的适配器称为 StopsExpandableAdapter)。我实现了所有需要的方法。

在我的 Activity 中,我可以使用上下文菜单从该列表中删除条目。当用户这样做时,我想刷新列表以便删除该项目。如果我创建一个新适配器, ListView 将重置为默认值并且所有组都将折叠。我想保持 ListView 的状态,所以展开的组在刷新列表后仍然展开。

我想我可以在我的自定义适配器 (StopsExpandableAdapter) 中添加一个 removeGroup 方法并在删除组后在我的 Activity 中使用它,但是如果我使用:

 mExpandableList.getAdapter();

我得到的是 ExpandableListConnector,不是我的自定义适配器,所以我无法使用我的函数。如何刷新列表并保持其状态?

最佳答案

为了能够访问我的适配器,我将它保存为一个全局变量:

private StopsExpandableAdapter adapter;

这样我就可以访问我的函数以从我的数据列表中删除一个子项(在适配器内)并通知数据已更改。

为了能够保持状态,我使用 bool 值来了解码是否已扩展。每次我添加或删除一个项目时,我都会检查哪些组已展开,以便能够在添加/删除完成后再次展开它们。

private ArrayList<Boolean> expandGroups;

关于Android的ExpandableListView : Keep groups expanded/unexpanded when removing an item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811178/

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