`

AlertDialog

阅读更多




由于AlertDialog类的构造方法被声明成protected方法,因此,不能直接使用new关键字来创建AlertDialog类的对象实例。为了创建AlertDialog对象,需要使用Builder类,该类是在AlertDialog类中定义的一个内嵌类,首先必须创建AlertDialog.Builder类的对象实例,然后通过AlertDialog.Builder类的show方法显示对话框。


AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDialog来创建出一个AlertDialog。

要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法。

使用AlertDialog.Builder创建对话框需要了解以下几个方法:

setTitle :为对话框设置标题

setIcon :为对话框设置图标

setMessage:为对话框设置内容

setView : 给对话框设置自定义样式

setItems :设置对话框要显示的一个list,一般用于显示几个命令时

setMultiChoiceItems :用来设置对话框显示一系列的复选框

setNeutralButton :普通按钮

setPositiveButton :给对话框添加"Yes"按钮

setNegativeButton :对话框添加"No"按钮

create : 创建对话框

show :显示对话框



代码:
AlertDialog dialog = newAlertDialog.Builder(MainActivity.this).setIcon(null).setTitle("dialog").setMessage("nihao").setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override

    public void onClick(DialogInterface arg0, int arg1) {

           MainActivity.this.finish();

    }

// 如果都使用setPositiveButton()方法,则只显示一个(后面的那个),前面的被覆盖

}).setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface arg0, int arg1) {                   

    }

}).create();

//显示对话框也可以使用showDialog(int id)方法显示对话框

dialog.show();

注意:

1、  setPositiveButton()和setNegativeButton()方法中的第二个参数的数据类型是android.content.DialogInterface.OnclickListener,而不是View中的OnClickListener。

2、  使用show方法显示对话框是异步的。也就是说,当调用AlertDialog。Builder.show或AlertDialog.show方法显示对话框后,show方法会立即返回,并且继续执行后面的代码。

/**三个按钮(覆盖,忽略,取消)对话框的创建*/

new AlertDialog.Builder(this).setTitle()

.setPositiveButton()

.setNeutralButton(…, …)

.setNegativeButton().show()

注意:

1、  setPositiveButton(),setNeutralButton(),setNegativeButton()的调用顺序可以是任意的,但无论调用顺序是什么,setPositiveButton()方法设置的按钮总会排在左起第1位,setNeutralButton()方法设置的按钮总会排在左起第2位,setNegativeButton()方法设置的按钮总会排在左起第3位。

2、  使用AlertDialog类创建的对话框最多只能有3个按钮。

3、  这3个按钮的方法虽然可以被调用多次,但系统只以每一个方法最后一次调用为准。(前面的会自动被覆盖)

 

简单列表对话框

final String[] str=new String[] { "你好1", "你好2", "你好3" };

              AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).setItems(str,new DialogInterface.OnClickListener() {

@Override

    public void onClick(DialogInterface arg0,int which) {

/**使用which返回你所点击的内容*/

final AlertDialog ad=new AlertDialog.Builder(MainActivity.this).setMessage("您选择了:    "+which+str[which]).show();

Handler handler=new Handler();

        handler.postDelayed(new Runnable() {

           @Override

           public void run() {

/**ad变量要使用final关键字定义,因为在隐式实现Runnable接口的run方法中需要访问final变量*/

/**调用AlertDialog类的dismiss方法关闭对话框,也可以调用cancel方法*/

               ad.dismiss();

           }

},5000);

}

}).create();

dialog.show();

在DialogInfterface接口中,有两个用于关闭对话框的方法:dismiss和cancel。这两个方法的功能完全相同,都是关闭框。所不同的是,cancel方法除了关闭对话框外,还会调用DialogInterface.onCancleListener接口中的onCancel方法。DialogInterface.onCancelListener对象需要使用AlertDialog.Builder类中的setOnCancelListener方法进行设置。dismiss方法和cancel方法类似,会调用DialogInterface.onDismissListener接口中的onDismiss方法。
分享到:
评论

相关推荐

    自定义主题改变AlertDialog样式

    `AlertDialog`是Android系统中的一个基础对话框组件,用于展示重要的信息或进行简单的用户交互。本篇文章将深入讲解如何通过自定义`style`来改变`AlertDialog`的样式,包括其背景图片、按钮图片、标题样式、标题栏...

    android 自定义AlertDialog 与Activity相互传递数据

    1、从Activity的TextView中获取字符串设置到AlertDialog的TextView和EditText中 2、将AlertDialog的EditText中的值设置到Activity的TextView中 新手在自定义AlertDialog上的疑问笔者猜测主要有两个: 1、自定义的...

    AlertDialog 提示框,弹出框

    在Android开发中,`AlertDialog`是系统提供的一种用于与用户交互的重要组件,它可以在当前活动(Activity)上显示一个模态对话框,用于展示信息、询问用户或接收用户输入。`AlertDialog`通常用于呈现警告、确认操作...

    AlertDialog对话框 实现遮罩层

    在Android开发中,`AlertDialog`是一种常见的用户交互组件,它用于显示重要的信息或者需要用户做出决定的情况。在很多场景下,我们希望在弹出`AlertDialog`时,背景界面被一个半透明的遮罩层覆盖,以突出对话框并...

    alertDialog大全

    在Android开发中,`AlertDialog`是一种非常常用的组件,用于向用户展示重要的信息或者进行简单的交互。`AlertDialog`大全主要涵盖如何创建、定制以及管理对话框的各个方面。在Android应用程序中,对话框通常用来中断...

    android AlertDialog对话框的类型集合

    在Android开发中,`AlertDialog`是用户界面(UI)设计中的一个重要组件,它用于向用户显示重要的信息或者需要用户做出决策的情况。`AlertDialog`提供了多种类型的对话框,以适应不同的交互场景。这篇描述中提到的...

    警告框AlertDialog的demo

    在Android开发中,`AlertDialog`是一个非常常用的组件,它用于向用户显示重要的警告或提示信息。这个`警告框AlertDialog的demo`是专为初学者设计的,帮助他们理解和掌握如何在应用程序中创建和使用`AlertDialog`。...

    AlertDialog的各种用法

    在Android开发中,`AlertDialog`是用户界面设计中不可或缺的一部分,它用于展示重要的信息或进行交互操作。`AlertDialog`提供了一种比普通的`Toast`更加强调、比`Activity`更为轻量级的对话方式。本篇文章将深入探讨...

    android AlertDialog使用例程

    在Android应用开发中,`AlertDialog`是一个至关重要的组件,它用于显示警告、确认或提供用户选择的对话框。本教程将深入探讨如何在Android应用程序中有效地使用`AlertDialog`,并结合实际例子进行详细讲解。 首先,...

    Android之AlertDialog源码.

    在Android开发中,`AlertDialog`是一个非常常用的组件,它用于展示警告、确认或者提供用户选择的对话框。本文将深入探讨`AlertDialog`的源码,理解其内部工作原理以及如何自定义和使用。 首先,`AlertDialog`是`...

    Android中显示AlertDialog对话框

    其中,`AlertDialog`是最常用的一种对话框类型,它提供了丰富的自定义选项来创建不同样式的对话框。下面将详细介绍如何在Android应用中创建并显示一个`AlertDialog`对话框。 ### 创建AlertDialog #### 1. 导入必要...

    Android Studio —— AlertDialog(多选对话框)

    在Android应用开发中,`AlertDialog`是一个非常重要的组件,它用于显示一个对话框来与用户进行交互。在本文中,我们将深入探讨如何在Android Studio中使用`AlertDialog`创建多选对话框,以及相关的知识点。 首先,`...

    自定义AlertDialog对话框完整代码

    在Android开发中,`AlertDialog`是系统提供的一种用于与用户交互的原生对话框,它通常用于显示警告、确认信息或者获取用户输入等场景。然而,系统默认的`AlertDialog`样式有时不能满足开发者的设计需求,这时我们就...

    android 使用alertdialog创建自定义对话框

    在Android开发中,`AlertDialog`是系统提供的一种用于显示警告、确认或选择信息的弹出式对话框。它可以帮助用户在不离开当前界面的情况下进行一些交互操作。在本篇文章中,我们将深入探讨如何在Android中使用`...

    自定义AlertDialog,效果类似微信朋友圈发布弹出选择框

    在Android开发中,`AlertDialog`是系统提供的一个用于显示警告、确认或信息的对话框组件。自定义`AlertDialog`能够帮助开发者实现更加丰富且个性化的交互体验,例如模拟微信朋友圈发布的弹出选择框。本篇将详细介绍...

Global site tag (gtag.js) - Google Analytics