我使用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 2011-05-10 15:58:09