在Android开发中,会经常用到AlertDialog,创建的方法有很多种方式,下面从Builder直接显示来说明一些有趣的事情,下面的代码想显示一个单选AlertDialog:
Builder builder = new AlertDialog.Builder(this);
builder.setTitle("标题");
builder.setMessage("内容");
builder.setSingleChoiceItems(new String[]{"选项 A", "选项 B", "选项 C", "选项 D"}, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.i(getClass().getName(), "{witch = " + which + "}");
}
});
builder.show();
运行后的如图:

产生这个问题的表面原因是setMessage和setSingleChoiceItems都被调用了,而根本原因只要参照其AlertDialog$Builder的源码就可以找到!
单独调用后的效果一切就正常了,效果如下:


如果通过Builder获得AlertDialog引用,然后对AlertDialog再做一些显示操作,还会发现一些有趣的效果!:)
本文详细介绍了在Android开发中如何利用AlertDialog进行交互式对话框的展示,并通过实例展示了使用Builder创建单选AlertDialog时可能出现的问题及解决方法。包括正确调用setMessage和setSingleChoiceItems的方法,以及在AlertDialog引用上调用其他显示操作时的有趣现象。
1万+

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



