在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() {@Overridepublic void onClick(DialogInterface dialog, int which) {Log.i(getClass().getName(), "{witch = " + which + "}");}});builder.show();

运行后的如图:


产生这个问题的表面原因是setMessage和setSingleChoiceItems都被调用了,而根本原因只要参照其AlertDialog$Builder的源码就可以找到!

单独调用后的效果一切就正常了,效果如下:



如果通过Builder获得AlertDialog引用,然后对AlertDialog再做一些显示操作,还会发现一些有趣的效果!:)

更多相关文章

  1. Android(安卓)Metro菜单
  2. Mac下Android(安卓)Studio简单使用
  3. Android(安卓)ProgressBar设置转圈样式
  4. Android(安卓)ListView标题置顶效果实现
  5. android应用安装后不显示图标问题分析
  6. Android下查询系统源码看短信的显示
  7. Beautyacticle 选图自定义圆形剪裁
  8. 【Android】(已更新解决方案)更新SDK版本(25)后,自定义FloatingAction
  9. Service显示启动和隐式启动

随机推荐

  1. listView常用属性设置
  2. android 加载图片防止内存溢出
  3. android 界面控件被输入法顶起来解决
  4. 实现 Android 应用在开机时自启动
  5. [置顶] [Android自定义控件]Android中如何
  6. android 子线程 UI线程(主线程)通信
  7. android 多媒体部分学习笔记十五-----视
  8. Android获得文件夹大小
  9. Andriod动画中windowEnterAnimation和act
  10. 继承FlexboxLayout自定义可自动换行的tag