问题在于,每当我在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>
的大小(长度)。必要时保持平衡