现在的情况是,选中全选可以将所有选项选中,但是取消全选却不能取消所有选项,代码如下
String[] strArr = new String[] { “赵”, “钱”, “孙”, “李”, “周”, “吴”, “郑”, “王”, “全选” };
boolean[] boolArr = new boolean[strArr.length];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle(“多选”);
builder.setMultiChoiceItems(strArr, boolArr, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (which == strArr.length – 1) { // 点击全选
for (int i = 0; i < boolArr.length; i++) {
boolArr[i] = isChecked;
}
} else {
boolArr[which] = isChecked;
}
}
});
builder.setPositiveButton(“确定”, null);
builder.setNegativeButton(“取消”, null);
builder.create().show();
}
});
}