【发布时间】:2013-11-01 22:07:48
【问题描述】:
我遇到了一点逻辑问题,我不明白如何解决它。
我有一个 ArrayList,我想通过读取参数 Day 将对象加载到 ExpListView 中,该参数由自定义 ArrayList 中的 get().getDay() 设置。
但是,当列表为空或可扩展列表视图中有多个子项时,此方法有效,它们会重复超出我的理解。
列表加载项目如下:
createrecipeCollection()
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”)项目,我不知道它们是如何到达那里的 - 它们似乎以 +1 扩展每个 groupitem 为空或导致 NPE。
感谢我能得到的任何帮助
【问题讨论】:
-
如果您在调试器中查看子列表,您会看到什么?有多余的空孩子吗?或者它们是由适配器创建的?您的适配器的实现也可能会有所帮助。
-
我添加了适配器。它在调试器中没有给我任何合乎逻辑的东西(我能看到的)。我认为 createRecipeCollection() 有问题 - 但我终其一生都无法弄清楚。
标签: android for-loop arraylist expandablelistview