I’m using the following code from the apidemos..
return new AlertDialog.Builder(AlertDialogSamples.this)
.setIcon(R.drawable.ic_popup_reminder)
.setTitle(R.string.alert_dialog_multi_choice)
.setMultiChoiceItems(R.array.select_dialog_items3,
new boolean[]{false, true, false, true, false, false, false},
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog, int whichButton,
boolean isChecked) {
/* User clicked on a check box do some stuff */
}
})
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked Yes so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked No so do some stuff */
}
})
.create();
Under /* User clicked Yes so do some stuff */, i’m not fed the isChecked variable.. however, I am given isChecked in the /* User clicked on a check box do some stuff */ section.. Obviously i don’t want to update my SharedPrefs on checkbox click, in case the user hits cancel..
So how do I get the checkboxs and values on the setPositiveButton onClick ?
Thanks.
Pass a reference to
byte[]insetMultiChoiceItems().Then check the value of
booleansinsidesetPositiveButton().If you need to pass this
AlertDialogaround, then extendAlertDialogand have create a fieldbooleanas described in 1.