【发布时间】:2016-06-22 13:32:25
【问题描述】:
当我尝试从可扩展列表视图中删除一个组时,适配器会在上面的组项内创建一个重复视图。
所以我有以下 可扩展列表视图 包含 3 个组,每个组都有一个孩子:
当我尝试删除以下屏幕截图所示名为“Toegevoegd”的组项时:
列表视图删除了正是我想要的组,但问题是上一个名为“andere”的组项创建了一个重复
下面的代码 sn -p 显示了删除过程:
for (Iterator<Header> headerIterator = articleList.iterator(); headerIterator.hasNext(); ) {
Header header = headerIterator.next();
if (header.getType().equals(selectedPickingLine.getType())) {
ArrayList<PickingLine> pickingLines = header.getPickingLineList();
for (Iterator<PickingLine> pickingLineIterator = pickingLines.iterator(); pickingLineIterator.hasNext(); ) {
PickingLine pickingLine = pickingLineIterator.next();
if (pickingLine.getPickingLineNr() == selectedPickingLine.getPickingLineNr()) {
if (selectedPickingLine.getAmount() == 0) {
articleRemoved = true;
if (pickingLines.size() == 1) {
headerIterator.remove();
} else {
pickingLineIterator.remove();
}
} else {
pickingLines.set(pickingLines.indexOf(pickingLine), selectedPickingLine);
}
}
}
}
}
adapter.notifyDataSetChanged();
HeaderIterator 控制组视图,pickingLineIterator 控制每个组项的子项。
我在初始化适配器时将底层数组列表“articleList”传递给适配器:
public OrderlinesHeaderAdapter(Activity activity, ArrayList<Header> articleList) {
this.articleList = articleList;
this.activity = activity;
}
为什么适配器会创建重复条目? 我调试了应用程序,底层数组列表不包含任何重复项...
【问题讨论】:
标签: android expandablelistview