如何删除Android ExpandableListView中某个group item的child item

2025-02-22 12:57:05
推荐回答(1个)
回答1:

检查你的数据定义,这种做法是非常危险的。我们要确保每个group item都有一个对应的child list,这个list为空,代表该group item没有子条目。可是你的定义呢?如果删除了"second",那么“thrid”到底是group1,还是group2的child呢?从代码中细究:
private String [] groupStr={"第一组","第二组","第三组"};
private String [] childStr={"first","second","third"};
private List> groupData = new ArrayList>();
private List> childData = new ArrayList>();

@Override
public int getChildrenCount(int arg0) {
// 这里的arg0,代表groupPosition,
// 所以,如果你删除了某个child元素,必然导致你的childData和groupData数量不对等。
// 当adapter试图为group2调用这个方法时,崩溃。
return childData.get(arg0).size();