`
wangleyiang
  • 浏览: 220962 次
社区版块
存档分类
最新评论

Android 创建AlertDislog时要小心哦

阅读更多

        在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再做一些显示操作,还会发现一些有趣的效果!:)

  • 大小: 6.9 KB
  • 大小: 7.7 KB
  • 大小: 14.5 KB
分享到:
评论

相关推荐

    Android 连接wifi和创建WIFI热点 demo

    此外,不同的Android版本可能对创建和连接WiFi热点的API有所调整,因此开发时应考虑兼容性问题。 `AndroidSpotDemo`这个项目很可能是包含了以上功能的示例代码,包括界面交互、事件处理和逻辑控制。开发者可以通过...

    各种Android Dialog创建及其监听事件实现

    我们经常会需要在Android界面上弹出一些对话框 比如询问用户或者让用户选择 关于Android Dialog的使用方法 已经有很多blog做出了详细的介绍(比如博客:7种形式的Android Dialog使用举例) 但是只是给出了创建各种...

    android 保存创建Txt文件 代码程序

    在Android平台上,开发人员经常需要处理文件操作,例如创建、读取、修改或删除文本文件。这个场景中,我们关注的重点是如何在Android应用中创建并保存一个TXT文件。以下是实现这一功能的关键知识点: 1. **权限申请...

    Android串口通信(Android Studio)

    在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。...通过实践和调试,开发者可以创建出能够有效与外部硬件交互的Android应用。

    android菜单icon图标

    在创建图标时,需要提供所有这些尺寸,以确保在不同设备上显示效果良好。 在实际开发中,Android Studio提供了一个名为`Android Asset Studio`的工具,可以帮助开发者快速生成符合规范的图标。只需上传自定义图像或...

    JS调用Android方法,向Android方法传递json数据

    在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...

    Android背景音乐设置代码

    - 考虑到性能,当用户切换音乐时,最好先释放旧的`MediaPlayer`实例,再创建新的实例。 通过以上步骤,我们就能成功地在Android应用中设置背景音乐,并让用户可以从SD卡中自由选择。这种功能增强了应用的互动性和...

    android向桌面添加快捷方式

    在Android系统中,为应用程序创建桌面快捷方式是提高用户体验的重要方式之一。用户可以通过快捷方式轻松访问常用功能,而无需每次都打开整个应用。本教程将详细解释如何通过源代码实现这一功能,同时也参考了名为...

    Android设置虚线、圆角、渐变

    在Android中,我们可以使用`Shape Drawable`来创建虚线。首先创建一个XML文件,比如`line_style.xml`,放在`res/drawable`目录下: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> ...

    Android动画之仿美团加载数据等待时小人奔跑进度动画 程序源码

    "Android动画之仿美团加载数据等待时小人奔跑进度动画程序源码"是一个示例项目,它展示了如何创建一个类似美团加载数据时显示的小人奔跑动画。这个动画在用户等待数据加载时提供了一种有趣的视觉反馈,让用户感觉...

    android检测U盘插拔事件

    "android检测U盘插拔事件"这个标题揭示了我们要探讨的核心技术点:如何在Android应用中监听并处理U盘的插入和移除操作。描述中提到的"工程里面有俩包,分别用了两种方法检测U盘热插拔",暗示我们有两种不同的实现...

    Android项目实战--手机卫士完整源码part1

    【Android项目实战--手机卫士完整源码part1】是一个针对Android平台的实践项目,旨在帮助开发者学习如何构建一个功能齐全的手机安全应用。这个项目包括了多个关键模块的源码,涵盖了手机卫士的核心功能,如电话拦截...

    Android自定义日期选择器源码

    这篇内容将深入探讨如何在Android中创建一个自定义日期选择器,并通过源码分析来增强我们的理解。 首先,我们要明白自定义日期选择器的基本结构。通常,它会包含一个日历视图,让用户可以选择年、月、日,有时还...

    Android用itext库生成中文PDF文档

    在Android平台上,生成PDF文档是常见的需求,尤其是在开发企业级应用时。iText是一个流行的Java库,用于创建和处理PDF文档。然而,由于版权和字符集...记住,处理字体和编码问题时要小心,以确保所有字符都能正确显示。

    Android开发入门60个小案例+源代码

    自Android 6.0(API级别23)开始,运行时权限成为必须处理的问题,你需要学习如何在应用中请求和处理用户权限。 最后,了解如何使用Android Studio进行调试和测试,包括使用Logcat查看日志、使用JUnit或Espresso...

    Android扫雷游戏(基于Android Studio)

    1. **Android Studio入门**:首先,你需要了解Android Studio的基本操作,包括创建新项目、项目结构、布局设计、代码编写以及调试工具的使用。Android Studio提供了一个基于Gradle的构建系统,你需要理解Gradle脚本...

    Android中Preference的使用以及监听事件分析

    在Android开发中,Preference是构建用户界面的一种重要方式,它主要用于创建设置界面,提供开关、选择列表、输入框等常用控件。Preference类是Android框架的一部分,它简化了UI元素的创建和管理,使得开发者可以方便...

    Android一键清理后台实现

    在Android 6.0(API 23)及以上版本,需要在运行时请求`android.permission.KILL_BACKGROUND_PROCESSES`权限,因为这是一个危险权限。 最后,为了优化用户体验,我们可以考虑添加其他功能,如定期清理、清理历史...

    Android通过webservice连接Sqlserver实例

    1. 异常处理:在发送请求和解析响应时,要处理可能的网络错误和解析错误,确保程序的健壮性。 2. 安全性:避免在客户端代码中暴露敏感信息,如数据库连接字符串。使用HTTPS加密通信,防止数据被窃取。同时,对用户...

    android 经典代码例子

    开发者需要在Manifest文件中声明所需的权限,并在运行时根据Android版本获取用户的许可。 12. **通知(Notification)**:通知是向用户展示重要信息的方式,即使应用不在前台运行。通过NotificationManager和...

Global site tag (gtag.js) - Google Analytics