`
jeyechao
  • 浏览: 49254 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Android开发经验总结——对话框的使用

阅读更多

本文介绍一个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程序编写及调试新手入门 大家一起学Android(Windows篇) android入门与提高必看指南 Android入门逆引手册 Android...

    仿腾讯的android下载对话框动画

    本项目专注于仿制腾讯Android应用中的一个特定功能——波浪型下载对话框动画。这个动画效果为下载过程增添了动态感,使用户界面更具吸引力。 首先,我们来理解“波浪型下载进度条对话框”这一概念。它是一种特殊的...

    安卓Android源码——一个Demo搞定30个控件.zip

    总结来说,这个压缩包提供的Demo是一个全面的Android UI控件学习资源,适合初学者和有一定经验的开发者巩固和提升Android界面开发技能。通过实战演练,你可以更好地理解Android控件的工作原理,并能在实际项目中灵活...

    云应用开发 ——Google App Engine & Google Web Toolkit入门指南

    - **10.2.16 总结**:回顾整个开发过程,总结经验教训。 ##### 10.3 高级例子——号码管家(GAE+GWT+Android) - **10.3.1 样子与功能**:定义应用的外观和功能需求。 - **10.3.2 创建项目**:在 Eclipse 中创建一个...

    Android UI Fundamentals

    总结来说,Jason Ostrander的《Android UI Fundamentals: Develop & Design》覆盖了安卓UI开发的方方面面,从基础的布局、事件处理到高级的图像处理、动画和自定义控件,再到适应不同屏幕尺寸的应用开发。...

    dialoglibrary.rar

    《Android自定义弹窗library——dialoglibrary》 在Android应用开发中,弹窗是一种常见的交互方式,用于向用户展示临时信息或进行简单的交互操作。在众多的弹窗实现中,自定义弹窗能够满足开发者对界面样式和功能的...

    安卓UI设计

    ### 安卓UI设计——图标设计指南 #### 一、引言 随着移动互联网的快速发展,用户对于手机应用的体验要求也越来越高。优秀的用户界面(User Interface, ...希望这篇文章能够帮助你在Android应用开发中取得更好的成果。

    morale-mobile:使用python kivy创建一个移动应用

    《使用Python Kivy创建移动应用——“士气流动”》 在当今的移动应用开发领域,Python Kivy框架提供了一种高效且灵活的方式,让开发者能够利用Python的强大力量来构建跨平台的触控应用。本文将深入探讨如何利用Kivy...

Global site tag (gtag.js) - Google Analytics