Android(安卓)创建AlertDislog时要小心哦
16lz
2021-01-26
在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再做一些显示操作,还会发现一些有趣的效果!:)
更多相关文章
- Android(安卓)Metro菜单
- Mac下Android(安卓)Studio简单使用
- Android(安卓)ProgressBar设置转圈样式
- Android(安卓)ListView标题置顶效果实现
- android应用安装后不显示图标问题分析
- Android下查询系统源码看短信的显示
- Beautyacticle 选图自定义圆形剪裁
- 【Android】(已更新解决方案)更新SDK版本(25)后,自定义FloatingAction
- Service显示启动和隐式启动