Android详细的对话框AlertDialog.Builder使用方法
幸运的是,android提供了这种问题的解决方案,刚开始接触android的时候,我在做一个自定义对话框的时候,也是通过继承的方式来实现,后来随着对文档了解的深入,发现了android起始已经提供了相应的接口Dialog Builder ,下面我就吧相关的内容在这里分享一下,也能让更多的初学者少走弯路。
首先是一个最简单的应用,就是弹出一个消息框,在android中可以这样实现
new AlertDialog.Builder(self)
.setTitle("标题")
.setMessage(
"简单消息框"
)
.setPositiveButton( "确定" , null ) |
.show(); |
效果如下:
上面的代码中我们新建了一个AlertDialog,并用Builder方法形成了一个对象链,通过一系列的设置方法,构造出我们需要的对话框,然 后调用show方法显示出来,注意到Builder方法的参数 self,这个其实是Activity对象的引用,根据你所处的上下文来传入相应的引用就可以了。例如在onCreate方法中调用,只需传入this即 可。
下面是带确认和取消按钮的对话框:
new AlertDialog.Builder(self) |
.setTitle( "确认" ) |
.setMessage( "确定吗?" ) |
.setPositiveButton( "是" , null ) |
.setNegativeButton( "否" , null ) |
.show(); |
注意到,这里有两个null参数,这里要放的其实是这两个按钮点击的监听程序,由于我们这里不需要监听这些动作,所以传入null值简单忽略掉,但是实际开发的时候一般都是需要传入监听器的,用来响应用户的操作。
下面是一个可以输入文本的对话框:
new AlertDialog.Builder(self) |
.setTitle( "请输入" ) |
.setIcon(android.R.drawable.ic_dialog_info) |
.setView( new EditText(self)) |
.setPositiveButton( "确定" , null ) |
.setNegativeButton( "取消" , null ) |
.show(); |
new AlertDialog.Builder(self) |
.setTitle( "请选择" ) |
.setIcon(android.R.drawable.ic_dialog_info) |
.setSingleChoiceItems( new String[] { "选项1" , "选项2" , "选项3" , "选项4" }, 0 , |
new DialogInterface.OnClickListener() { |
|
public void onClick(DialogInterface dialog, int which) { |
dialog.dismiss(); |
} |
} |
) |
.setNegativeButton( "取消" , null ) |
.show(); |

1 |
new AlertDialog.Builder(self) |
2 |
.setTitle( "多选框" ) |
3 |
.setMultiChoiceItems( new String[] { "选项1" , "选项2" , "选项3" , "选项4" }, null , null ) |
4 |
.setPositiveButton( "确定" , null ) |
5 |
.setNegativeButton( "取消" , null ) |
6 |
.show(); |

列表对话框:
1 |
new AlertDialog.Builder(self) |
2 |
.setTitle( "列表框" ) |
3 |
.setItems( new String[] { "列表项1" , "列表项2" , "列表项3" }, null ) |
4 |
.setNegativeButton( "确定" , null ) |
5 |
.show(); |
1 |
ImageView img = new ImageView(self); |
2 |
img.setImageResource(R.drawable.icon); |
3 |
|
4 |
new AlertDialog.Builder(self) |
5 |
.setTitle( "图片框" ) |
6 |
.setView(img) |
7 |
.setPositiveButton( "确定" , null ) |
8 |
.show(); |

我们传入了一个ImageView来显示图片,这里显示了一个经典的android小绿人图标~ ~,当然这里还可以放上网络图片,具体的实现方法就不介绍了,留给大家来练习吧~
AlertDialog.Builder builder = new Builder(AntiVirusActivity.this);
builder.setTitle("警告!!!");
builder.setMessage("您的手机处于十分危险状态,发现了:"+antiVirus.size()+"个病毒,赶快杀毒!");
builder.setPositiveButton("立刻杀毒", new OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) {
//卸载软件
for(Scaninfo scaninfo : antiVirus){
Intent intent = new Intent();
// <action android:name="android.intent.action.VIEW" />
// <action android:name="android.intent.action.DELETE" />
// <category android:name="android.intent.category.DEFAULT" />
// <data android:scheme="package" />
intent.setAction("android.intent.action.DELETE");
intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("package:"+scaninfo.packName));
startActivity(intent);
}
}
});
builder.setNegativeButton("下次再说", null);
builder.show();

Android详细的对话框AlertDialog.Builder使用方法的更多相关文章
- 少走弯路——Android对话框AlertDialog.Builder使用方法简述
android的自定义对话框,不需要通过继承的方式来实现,因为android已提供了相应的接口Dialog Builder ,下面就是 样例: new AlertDialog.Builder(this ...
- 对话框AlertDialog.Builder使用方法
我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...
- Android中的对话框AlertDialog使用技巧合集-转载
Android中的对话框AlertDialog使用技巧合集 文章来自:http://blog.csdn.net/blue6626/article/details/6641105 今天我用自 ...
- Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder
Stack Overflow 排错翻译 - Closing AlertDialog.Builder in Android -Android环境中关闭AlertDialog.Builder 转自:ht ...
- 11.Android之常用对话框AlertDialog学习
(1)首先我们写个简单的AlertDialog对话框,要创建一个AlertDialog,就要用到AlertDialog.Builder中的create()方法,然后创建对话框可以设置对话框的属性,比如 ...
- android中提示&对话框----AlertDialog
AlertDialog(对话框) 一.对话框的基本使用流程 step1:创建AlertDialog.Buider; step2:调用setIcon()设置图标,setTitle()或者setCusto ...
- 024 Android 自定义样式对话框(AlertDialog)
1.AlertDialog介绍 AlertDialog并不需要到布局文件中创建,而是在代码中通过构造器(AlertDialog.Builder)来构造标题.图标和按钮等内容的. 常规使用步骤(具体参见 ...
- Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影
效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...
- 【Android】6.2 AlertDialog(警告对话框)
分类:C#.Android.VS2015: 创建日期:2016-02-08 一.简介 AlertDialog也是Android系统当中常用的对话框之一. 在一个AlertDialog中,可以有一个Bu ...
随机推荐
- Linux(Centos)下jdbc连接oracle速度超慢的问题
最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...
- tmux protocol version mismatch (client 7, server 6)
$ tmux attach protocol version mismatch (client 7, server 6) $ pgrep tmux 3429 $ /proc/3429/exe atta ...
- ASP - MSXML2.ServerXMLHTTP & HTTPS & 证书过期 — msxml3.dll '80072f05'
Error: msxml3.dll '80072f05' The date in the certificate is invalid or has expired Dim xmlhttp Set ...
- 使用 crosswalk-cordova 打包sencha touch 项目,再也不用担心安卓兼容问题!
国内的安卓手机品牌众多,安卓操作系统碎片化也很严重,我们使用sencha touch 开发的应用不可避免的出现了各种无解的兼容性问题. 有时候我就在想,有没有既能支持cordova,又能让我们把Chr ...
- Frogger(floyd变形)
Frogger Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Stat ...
- 10个TWaver 网页3D可视化精彩案例
以下网页3D案例均为TWaver原创出品,推荐使用Chrome, FireFox, Safari等对WebGL支持良好的浏览器运行.案例排名不分先后,如需Demo,可直接申请试用. 1. 化学元素 ...
- 【原创】试用十天被Pass所带来的启示
试用十天被Pass所带来的启示 招聘是门学问,很多人在研究,也有很多方案,不过面对人员难聘问题,很多方法又不灵了.于是我们采用了降低标准方案,扩招进来一些人员,于是问题又来了,想不想听我亲身经历的 ...
- 转:Transform Web.Config when Deploying a Web Application Project
Introduction One of the really cool features that are integrated with Visual Studio 2010 is Web.Conf ...
- js判断手机浏览器并跳转到手机网站
function uaredirect(murl){ try { if(document.getElementById("bdmark") != null){ return; } ...
- tcp为什要三次握手
准备知识: 单工:信息只能单向传递.发送-->接收,单向,不能返回响应. 双工:指的是信息可双向发送. 全双工:信息可同时双向传递. 半双工:不能同时,单行道,一边传输完了,另一边才能发起传输. ...