我遇到了一点逻辑问题,我无法理解如何解决它。
我有一个 ArrayList,我想通过读取参数 Day 将对象加载到 ExpListView 中,该参数由自定义 ArrayList 中的 get().getDay() 设置。
但是,当列表为空或可扩展列表视图中有多个子项时,此方法有效,它们的重复超出了我的理解。
该列表加载如下项目:
创建食谱集合()
private void createRecipeCollection(){
for (int i = 0; i < rData.size(); i++) {
String weekday = rData.get(i).getDay();
if (weekday.equals("Monday")) {
loadChild(rData);
}
else if (weekday.equals("Tuesday"))
loadChild(rData);
else if (weekday.equals("Wednesday"))
loadChild(rData);
else if (weekday.equals("Thursday"))
loadChild(rData);
else if (weekday.equals("Friday"))
loadChild(rData);
else if (weekday.equals("Saturday"))
loadChild(rData);
else if (weekday.equals("Sunday"))
loadChild(rData);
else
loadChild(Empty);
recipeCollection.put(weekday, childList);
}
}
加载孩子
private void loadChild(ArrayList<ObjectFinder> rData) {
for (ObjectFinder comparer : rData)
childList.add(comparer);
}
结果是这样的:
如您所见,GroupItem 下有一大堆空子项(我在适配器中将它们标记为“asd”)项目,我不知道它们是如何到达那里的 - 而且它们似乎以每个 groupitem 的 +1 扩展为空或导致 NPE。
感谢我能得到的任何帮助