Отображать ранее выбранные элементы в списке массивов с новым в диалоговом окне с несколькими выборами
Когда я снова открываю диалоговое окно, чтобы показать элементы, которые были выбраны, они отображаются нормально, но если я выбираю другой элемент, то другие элементы, которые были выбраны ранее, удаляются, и в массиве отображаются только новые. Я хочу показать новый выбранный элемент, а также предыдущий выбранный элемент в списке.
AlertDialog.Builder builder = new AlertDialog.Builder(Setting.this);
builder.setTitle("Choose Categories to hide");
int L = MyGlobals.categories2.length;
boolean[] checkedItems = new boolean[L];
for (int i = 0; i < L; i++) {
try {
if(categoryExist(MyGlobals.categories2[i])){
checkedItems[i] = true;
}else {
checkedItems[i] = false;
}
}catch(Exception e) {
e.printStackTrace();
}
}
builder.setMultiChoiceItems(MyGlobals.categories2, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
selected_categories.add(MyGlobals.categories2[which]);
} else if(selected_categories.contains(which)) {
selected_categories.remove(MyGlobals.categories2[which]);
}
}
});