我有一個alertDialog,它提示用戶做出多個選擇,我能夠做出幾個選擇並將選定的項目保存在arrayList中,但是當我再次觸發該alertBox時,它會被重置,並且所有複選框都是unchecked,我希望它們保留我留下他們的狀態,直到我手動重置它們。這個怎麼用? 我的代碼:在multiChoiceItems警報對話框中加載先前的值?
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
}
});
您也可以將它們存儲在SharedPreferences文件中。如果你想。 – pixelscreen