【发布时间】:2021-05-15 11:43:10
【问题描述】:
我有两个 ArrayLists array1 和 array2。
在两个 ArrayList 中可以有不同的数字,但在 array2 中它总是只有一个数字。
在onClickListener 中,我需要从array1 中删除array2 的数量。
例如:
ArrayList array1 = new Arraylist(2,1,4,6,3);
ArrayList array2 = new Arraylist(1);
然后我尝试了:
array1.remove(array2)
但是什么也没发生……
实现这一目标的最佳方法是什么?
对于上下文:
我有三个片段,一个可以看到你的牌组DeckKartenFragment,两个可以选择你的卡片RadlerKarte 和HopfentrunkKarte。我有两个 ImageView,您可以在其中放置选择的卡片。
我希望每张卡片只能选择一次。为此,我制作了两个数组。一种是所有选择的卡片都是deck.deck(存储在类deck中),另一种是ImageView当前选择的卡片是deck1WelcheKarte。
//Check if card is already chosen//
if (deck.deck.contains(1) == true){
Toast.makeText(getActivity(), "example" , Toast.LENGTH_LONG).show();
deck.cardchosen.clear();
}
if (deck.deck.contains(1) == false){
deck.deck.add(1); //Add Card to deck//
deck.deck.removeAll(deck1WelcheKarte); //Remove card that was chosen before from deck//
deck1WelcheKarte.clear(); //Reset card that is chosen to current card//
deck1WelcheKarte.add(1);}}
现在,如果我选择了我的第一张卡,一切正常,当我用一张新卡替换该卡时,它仍然可以正常工作。但是当我再次用我的第一张卡替换那张卡时,第一张卡的号码似乎仍在deck,因为我的应用程序转到 makeToast 而不是将新卡添加到卡组...
【问题讨论】:
-
removeAll可以代替吗? -
但是不是每个array1的数量都被删除了吗?
-
试过了,但仍然没有任何反应
-
这些是
ArrayLists,我猜是不是数组。你提供一个最小的例子怎么样? -
编辑过的例子
标签: java android arrays android-studio arraylist