ユーザーに複数の選択を促すalertDialogがあり、いくつかの選択を行って、選択したアイテムをarrayListに保存できますが、そのalertBoxを再度起動すると、リセットされ、すべてのチェックボックスがオフになっています。状態を保持したいです。手動でリセットするまでそのままにしておきました。これはどのように作動しますか?私のコード:
ArrayList<String> participants = db.getNames();
final String[] arr = participants.toArray(new String[participants
.size()]);
boolean[] checkedItems = new boolean[participants.size()];
final ArrayList<String> selectedParticipants = new ArrayList<String>();
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle("Select the participants:");
b.setMultiChoiceItems(arr, checkedItems,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
if (isChecked) {
selectedParticipants.add(arr[which].toString());
}
}
});
b.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(EnterExpense.this,
"" + selectedParticipants, Toast.LENGTH_SHORT)
.show();
}
}).setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});