本文介绍一个Activity中多个对话框的统一管理,主要通过重写Activity的onCreateDialog方法。
废话不多说了,看代码:

@Overrideprotected 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 成长篇

更多相关文章

  1. Adroid 之 Builder 对话框
  2. Android判断定位功能是否可用
  3. Android(安卓)Dialog 应用
  4. Set Positive|Neutral|Negative Button disabled in AlertDialog
  5. android dialog ——ProgressDialog 进度条对话框详解
  6. android实现程序的后台运行 and 完全退出
  7. 24. android dialog ——ProgressDialog 进度条对话框详解
  8. android系统关机源码(9.0)流程分析
  9. android中的alertdialog及LayoutInflater

随机推荐

  1. Android开源图表库介绍
  2. android启动后根文件系统分析
  3. 利用Handler来更新android的UI
  4. Android通过ContentProvider传输文件
  5. Android(安卓)Spinner与setDropDownViewR
  6. 解决Android编辑框在全屏模式下无法检测
  7. 解决Android模拟器打不开的问题!...
  8. 【Android(安卓)应用开发】Android(安卓)
  9. Windows环境下Android(安卓)源码模块下载
  10. Android(安卓)Toolbar