说明:setMultiChoiceItems中的参数:selected是默认的对应的选中状态。当你选择时,系统会自动帮你把selected中的值做相应改变,所以在确定按钮中可以得到所有的选择状态。其他和单选一样。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String[] item = {"a", "b", "c"};
final boolean[] selected = {true, false, true};
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("多选列表");
builder.setMultiChoiceItems(item, selected, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(MainActivity.this, item[which] + isChecked, Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT).show();
for (int i = 0; i < selected.length; i++) {
Log.e("hongliang", "" + selected[i]);
}
}
});
builder.create().show();
}
});