Установка элемента как проверено OnShow в диалоговом окне оповещения о множественном выборе Android
У меня есть диалоговое окно с предупреждением о множественном выборе, в котором все элементы со значением 1, как проверено onShowListener. Слушатель вызывается, но элементы не проверяются. Я искал повсюду в стеке, но не смог найти ответ, который мне помогает. Я даже не могу найти вид установить или снять галочку. Пожалуйста, помогите мне.
alertdialogbuilder.setMultiChoiceItems(AlertDialogItems, Selectedtruefalse, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
multiSelectModel = ItemsIntoList.get(which);
if (multiSelectPopulationList[0].get(which).getValue() == 0) {
multiSelectModel.setValue(1);
Common.checked_count = Common.checked_count + 1;
multiselectButton[multiselectButtonList.size() - 1].setText(String.valueOf(Common.checked_count) + " " + multiSelectPopulationList[0].get(0).getName() + " SELECTED");
multiSelectPopulationList[0].set(which, multiSelectModel);
Log.d("Multisel[" + which + "]rowlabel", multiSelectPopulationList[0].get(which).getName());
Log.d("Multisel[" + which + "]rowId", multiSelectPopulationList[0].get(which).getRowId());
Log.d("Multisel[" + which + "]optionValue", multiSelectPopulationList[0].get(which).getPopulationListItem());
Log.d("Multisel[" + which + "]checkValue", String.valueOf(multiSelectPopulationList[0].get(which).getValue()));
} else {
Common.checked_count = Common.checked_count - 1;
multiselectButton[multiselectButtonList.size() - 1].setText(String.valueOf(Common.checked_count) + " " + multiSelectPopulationList[0].get(0).getName() + " SELECTED");
multiSelectModel.setValue(0);
multiSelectPopulationList[0].set(which, multiSelectModel);
Log.d("Multisel[" + which + "]rowlabel", multiSelectPopulationList[0].get(which).getName());
Log.d("Multisel[" + which + "]rowId", multiSelectPopulationList[0].get(which).getRowId());
Log.d("Multisel[" + which + "]optionValue", multiSelectPopulationList[0].get(which).getPopulationListItem());
Log.d("Multisel[" + which + "]checkValue", String.valueOf(multiSelectPopulationList[0].get(which).getValue()));
}
}
});
alertdialogbuilder.setCancelable(false);
alertdialogbuilder.setTitle("Select " + rowLabel);
alertdialogbuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertdialogbuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
final AlertDialog dialog = alertdialogbuilder.create();
//dialog.getListView().setItemChecked(3,true);
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialogInterface) {
Log.d("OnShow", "called");
ListView list = dialog.getListView();
for (int i = 0; i < list.getCount(); i++) {
if (multiSelectPopulationList[0].get(i).getValue() == 1) {
list.setItemChecked(i, true);
}
//selectedItems.add(Integer.valueOf(i));
}
}
});
dialog.show();