0

ユーザーが削除したいアイテムを選択する画面があり、その選択を整数の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));

                            }
                        }
                    }
                }

selectedItemsは、ユーザーが削除したいアイテムとして選択したものを保持するarrayListです。

4

1 に答える 1

1

私が見ているのは、あなたがDeck.remove(int)を呼び出しているので、ハッシュテーブルからではなく、デッキから削除しているということです。

このメソッドは、Deckクラスのremove(int)を何をしますか?

于 2013-01-23T16:40:48.587 に答える