我有一个用户选择他/她想要删除的项目的屏幕,然后我将他/她的选择存储到整数arrayList中(根据他们在listView上点击的位置)。
然后我将他们想要删除的项目传递给一个函数,我实际上将它们从包含所有信息的哈希表中删除。出于某种原因,它只是不从哈希表中删除。我已经测试并查看了我用来访问数据的所有变量,它们是正确的。我不确定为什么它不会删除我告诉它的内容..
这是功能:
for (Entry<Integer, ArrayList<Deck>> i : listOfDecks.entrySet()) {
for (int p = 0; p < i.getValue().size(); p++) {
if (i.getValue().get(p).getTitle().equals(deckTitle)) {
for (int z = 0; z < deletedItems.size(); z++) {
listOfDecks.get(i.getKey()).get(p).getDeck().remove(deletedItems.get(z));
}
}
}
}
deletedItems是一个arrayList,用于保存用户选择的项目作为要删除的项目。
答案 0 :(得分:1)
我看到的是你正在调用Deck.remove(int),所以你不是从哈希表中删除,而是从甲板上删除。
这个方法删除Deck类的内容是什么?。