Я создаю множественный выбор AlertDialog
, используя AlertDialog.Builder
и setMultiChoiceItems
.
Я хочу отмечать / снимать отметки с элементов внутри OnMultiChoiceClickListener
, но не могу найти, как.
Вот мой код:
final List<User> users = Util.getUsers();
final String[] names = new String[users.size()];
final boolean[] checked = new boolean[users.size()];
for (int i=0; i < names.length; i++) {
names[i] = users.get(i).getName();
checked[i] = selectedUsers.contains(users.get(i).getId());
}
new AlertDialog.Builder(EventFormActivity.this)
.setTitle(R.string.schedule_for)
.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
updateScheduleForText();
}
})
.setMultiChoiceItems(names, checked, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) selectedUsers.add(users.get(which).getId());
else selectedUsers.remove((Integer) users.get(which).getId());
// check or uncheck other items? how?
}
})
.show();
Единственный способ увидеть, как я могу это сделать, - реализовать пользовательский ListAdapter
или даже пользовательский диалог Activity
.1014 *