本文介绍一个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 开发资料和源代码,挑选出好的给大家
NULL 博文链接:https://jeyechao.iteye.com/blog/1149127
安卓Android源码——android 自定义对话框.rar
Android源码——alertDialog对话框.zip
android dialog ——ProgressDialog 进度条对话框详解
Android开发与应用——张荣 原书配套例程代码。 Android开发与应用——张荣 原书配套例程代码, 由于书籍的前三章是介绍Android和开发环境的搭建的 所以例程代码从第四章开始到第九章。 原书目录如下。 第1章 ...
15. android dialog ——列表对话框
安卓Android源码——android 自定义对话框.zip
Android源码——普通对话框源码.zip
不管你是想将已经存在的原生代码应用移植到Android平台上还是准备开始在Android平台上进行软件开发,使用《Android C++高级编程——使用NDK》一书提供的技术可以构建更出色的应用。本书将展示构建性能更好的复杂原生...
17. android dialog —— 单选列表对话框 http://blog.csdn.net/jamesliulyc/archive/2011/04/24/6358813.aspx
安卓Android源码——(Dialog对话框).rar
18. android dialog —— 多选列表对话框 http://blog.csdn.net/jamesliulyc/archive/2011/04/24/6359628.aspx
安卓Android源码——alertDialog对话框.zip
安卓Android源码——自定义对话框.zip
安卓Android源码——(Dialog对话框).zip
安卓Android源码——所有Dialog对话框.zip
安卓Android源码——所有Dialog对话框.rar
安卓Android源码——普通对话框源码.zip
安卓Android源码——进度条对话框Demo.zip