我在以下代码中遇到了 alertdialog.builder 的问题:
public void showSettingsBox(){
final CharSequence[] items = {"Item1", "Item2", "Item3"};
final boolean checked[] = new boolean[]{false,false,false};
AlertDialog.Builder builder = new AlertDialog.Builder(fLabyrinthGame);
builder.setMessage(fMessage)
.setCancelable(false)
.setMultiChoiceItems(items, checked, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
CharSequence text = "Item number " + which;
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(fLabyrinthGame, text, duration);
toast.show();
}
})
.setPositiveButton("Apply", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder.setTitle(fTitle);
builder.setIcon(R.drawable.icon_exclamation);
AlertDialog alert = builder.create();
alert.show();
}
三个项目和复选框没有显示,标题栏和应用按钮之间只有一根白线。有谁知道为什么这不起作用?
最佳答案
删除 builder.setMessage(fMessage)
行,它将起作用:)
setMessage
仅在您要显示文本消息时使用。如果将它与 setMultiChoiceItems
或 setItems
结合使用,它似乎会使生成器进入未定义状态。
关于android - 警报对话框生成器 : No items for checkboxes are shown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3081440/