AlertDialog.Builder
및 setMultiChoiceItems
을 사용하여 복수 선택 AlertDialog
을 만듭니다.OnMultiChoiceClickListener.onClick의 항목을 선택/선택 취소 하시겠습니까?
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
을 구현할 수 있습니다 :
여기 내 코드입니다.
버튼을 변경할 필요가 없습니다. 하나 이상의 선택 항목의 선택 상태를 변경해야합니다. – Felix