boolean[] selected ;
String[] subtitlearry = new String[subtitleInfolists.size()];
selected = new boolean[subtitleInfolists.size()];
for (int i = 0; i < subtitleInfolists.size(); i++) {
subtitlearry[i] = subtitleInfolists.get(i).SubtitleName;
}
ShowDialog(subtitlearry);
//Dialog实现
private void ShowDialog(final String[] subtitlarry) {
new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(subtitlarry, selected, mutiListener)
.setPositiveButton("确定", btnListener).setNegativeButton("取消", null)
.show();
}
DialogInterface.OnClickListener btnListener =
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which) {
for(int i=0; i<selected.length; i++) {
if(selected[i] == true) {
Log.v("=========OnMultiChoiceClickListener=====","selected["+i+"]="+selected[i]);
mRemoteControl.chooseSubtitle(subtitleInfolists.get(i).SubtitleID);
}
}
}
};
DialogInterface.OnMultiChoiceClickListener mutiListener = new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int which,
boolean isChecked) {
selected[which]=isChecked;
Log.v("=========OnMultiChoiceClickListener=====","which = " +which+" isChecked = "+isChecked);
}
};
本文介绍了一种在Android应用中实现复选框对话框的方法。通过创建自定义的AlertDialog来展示一系列选项,并允许用户进行多选操作。此外,还展示了如何通过监听器收集用户的选项并作出响应。
377

被折叠的 条评论
为什么被折叠?



