Вместо использования общего списка используйте список логических значений и сохраните в нем ischecked
как
final List<Boolean> seletedItems = Arrays.asList(false,false,false)
// or final List<Boolean> seletedItems = new ArrayList<>();
// for(int i =0;i<items.length;i++){seletedItems.add(false);}
и сохранить данные как соответствующий индекс
public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) {
seletedItems.set(indexSelected,isChecked);
// add boolean check at the particular position
}
Примечание: размер списка равен размеру массива, чтобы сохранить выбор в соответствии с позицией
поэтому предположим, что пользователь выбрал 0,2, тогда seletedItems
будет иметь
index value
0 true
1 false
2 true
Вы также можете использовать массив boolean
, чтобы быть более эффективным