设置哪个选中:
alertDialog.getListView().setItemChecked(i,true);
禁止哪个可选(背景变灰色):
alertDialog.getListView().getChildAt(i).setEnabled(true);
private void showDialog() {
int length = 5;
String[] items = new String[length];
boolean[] booleans = new boolean[length];
for (int i = 0; i < length; i++) {
items[i] = "i:" + i;
booleans[i] = i % 2 == 0 ? true : false;
}
//保存用户更改操作,防止用户点击取消按钮
Map<Integer, Boolean> saveMap = new HashMap<Integer, Boolean>();
AlertDialog alertDialog = new AlertDialog.Builder(this)
.setTitle("选择轮播视频")
.setIcon(R.mipmap.logo)
.setMultiChoiceItems(items, booleans, new DialogInterface.OnMultiChoiceClickListener() {//创建多选框
@Override
public void onClick(DialogInterface dialogInterface, int i, boolean select) {
saveMap.put(i, select);
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {//添加"Yes"按钮
@Override
public void onClick(DialogInterface dialogInterface, int p) {
if (saveMap != null && videoBeanList != null) {
for (Map.Entry<Integer, Boolean> entry : saveMap.entrySet()) {
LogUtil.i("key:" + entry.getKey() + ";value:" + entry.getValue());
}
}
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {//添加取消
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.create();
alertDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
//不屏蔽按键
alertDialog.setCancelable(true);
alertDialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
alertDialog.getListView().getChildAt(0).setEnabled(false);
alertDialog.getListView().setItemChecked(0, true);
}
});
alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
switch (keyCode) {
//返回
case KeyEvent.KEYCODE_BACK:
if (alertDialog != null) {
alertDialog.dismiss();
}
break;
}
return false;
}
});
alertDialog.show();
}