本文介绍一个Activity中多个对话框的统一管理,主要通过重写Activity的onCreateDialog方法。
废话不多说了,看代码:
@Override
protected Dialog onCreateDialog(int id){
Dialog dialog = null;
AlertDialog.Builder builder= new AlertDialog.Builder(this);
switch(id){
case 1:
//设置对话框的各种属性
builder.setTitle("对话框1");
builder.setView(view);
//设置点击确定的动作,不设置的话就不会显示该按钮
builder.setPositiveButton("确定",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int id) {
//其他事务逻辑
removeDialog(1);
}
});
//设置点击取消的动作,不设置的话就不会显示该按钮
builder.setNegativeButton("取消",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int id) {
//其他事务逻辑
removeDialog(1);
}
});
dialog = builder.create();
return dialog;
case 2:
//设置对话框的各种属性
builder.setTitle("对话框2");
builder.setView(view);
//设置点击确定的动作
builder.setPositiveButton("确定",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int id) {
//其他事务逻辑
removeDialog(2);
}
});
//设置点击取消的动作
builder.setNegativeButton("取消",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int id) {
//其他事务逻辑
removeDialog(2);
}
});
dialog = builder.create();
return dialog;
}
}
在该Activity中,只要调用showDialog(1)就可以显示“对话框1”,调用showDialog(2)就可以显示“对话框2”。
为了使代码更易看懂,可以在此Activity中定义常量来替代上面的1和2。如下:
private static final int DIALOG_ABOUT = 1;
private static final int DIALOG_CHOOSE_LANGUAGE = 2;
常量名尽量语义化,这样可以很方便看出来DIALOG_ABOUT是“关于”对话框,DIALOG_CHOOSE_LANGUAGE是“选择系统语言”对话框。这样写代码时也会很清晰。
这个比较简单,就不传代码了。
注:此博客参加“Google 暑期大学生博客分享大赛 - 2011 Android 成长篇”
分享到:
相关推荐
最无私的Android资料(书籍+代码)分享[总结] Android中文帮助教程(非常合适新手入门) android程序编写及调试新手入门 大家一起学Android(Windows篇) android入门与提高必看指南 Android入门逆引手册 Android...
本项目专注于仿制腾讯Android应用中的一个特定功能——波浪型下载对话框动画。这个动画效果为下载过程增添了动态感,使用户界面更具吸引力。 首先,我们来理解“波浪型下载进度条对话框”这一概念。它是一种特殊的...
总结来说,这个压缩包提供的Demo是一个全面的Android UI控件学习资源,适合初学者和有一定经验的开发者巩固和提升Android界面开发技能。通过实战演练,你可以更好地理解Android控件的工作原理,并能在实际项目中灵活...
- **10.2.16 总结**:回顾整个开发过程,总结经验教训。 ##### 10.3 高级例子——号码管家(GAE+GWT+Android) - **10.3.1 样子与功能**:定义应用的外观和功能需求。 - **10.3.2 创建项目**:在 Eclipse 中创建一个...
总结来说,Jason Ostrander的《Android UI Fundamentals: Develop & Design》覆盖了安卓UI开发的方方面面,从基础的布局、事件处理到高级的图像处理、动画和自定义控件,再到适应不同屏幕尺寸的应用开发。...
《Android自定义弹窗library——dialoglibrary》 在Android应用开发中,弹窗是一种常见的交互方式,用于向用户展示临时信息或进行简单的交互操作。在众多的弹窗实现中,自定义弹窗能够满足开发者对界面样式和功能的...
### 安卓UI设计——图标设计指南 #### 一、引言 随着移动互联网的快速发展,用户对于手机应用的体验要求也越来越高。优秀的用户界面(User Interface, ...希望这篇文章能够帮助你在Android应用开发中取得更好的成果。
《使用Python Kivy创建移动应用——“士气流动”》 在当今的移动应用开发领域,Python Kivy框架提供了一种高效且灵活的方式,让开发者能够利用Python的强大力量来构建跨平台的触控应用。本文将深入探讨如何利用Kivy...