私は単純なリストビュー(recyclerView)を持っていますが、各リストアイテムにはチェックボックスがあります。チェックされているすべてのアイテムは、次のコードで削除する必要があります。ArrayList.remove(i)は、すべてのオブジェクトを削除しません。
for(int i = 0; i<shopListItems.size(); i++) {
if(shopListItems.get(i).isBought == 1) {
shopListItems.remove(i);
}
}
ただし、何らかの理由で削除されません。 10個のアイテムがチェックされている場合、そのうちの7個だけが削除され、残りのアイテムを削除するためにコードを再度実行する必要があります。
コードが細かいようだが、私は本当にそれが全てチェックや(isBought == 1)
アイテム0を削除すると、古いアイテム1は位置0に移動しますが、ループは位置1に移動してループします。 –