问题在于,每当我在ExpandableListView的GroupItem中添加一个以上的子项时,该项都会与前一个子项重复。我将其范围缩小到ExpandableListView(自定义)适配器中的getChild()方法。

getChild()方法如下所示:

public Object getChild(int groupPosition, int childPosition) {

     return rCollection.get(weekData.get(groupPosition)).get(childPosition);

}


其中rCollection = Map<String, List<Custom>>;
weekData = List<String>;

如何更改getChild以使每个请求仅返回一项,以免重复?我不能使用for循环,因为如果将groupPosition和childPosition更改为Array,则必须再次实现该方法。

为了说明这一点,问题如下所示:



如何在第一次调用项目2时将其排除在外,以及如何在第二次调用它时将其排除在外?等等。

感谢您的阅读和所有帮助。

最佳答案

@Override
public int getChildCount(.....)
{
     return 2;
}


如果您确定每个项目只有2个子项目
对不起,这是您想要的正确方法。
 编辑

@Override
public int getChildrenCount(int groupPosition)
{
    return (rCollection.get(weekdata.get(groupPosition())).size();
}


这将返回地图的List<Custom>的大小(长度)。
必要时保持平衡

10-07 23:13