### Java Dialog 概述 在Java中,特别是Android开发领域,`Dialog` 是一个非常重要的概念,用于创建弹出窗口,这些窗口可以显示警告、提示信息或者请求用户输入等。`Dialog` 类允许开发者定制对话框的内容、按钮以及其他组件。 #### 标题:Java Dialog 在Android开发中,“Java Dialog”通常指的是使用Java语言来创建和管理对话框的过程。通过这种方式,开发者能够根据应用程序的需求灵活地展示不同的对话框类型,从而与用户进行交互。 ### 描述:Java Dialog 描述中的“Java Dialog”主要涉及到了如何在Android应用中创建并显示对话框的基本方法。下面将详细介绍相关的知识点。 ### 知识点详解 #### Activity 方法:onCreateDialog, showDialog 和 dismissDialog 1. **onCreateDialog(int id)**:此方法用于创建一个特定ID的对话框。通常,它会被重写在`Activity`类中,当系统需要显示一个对话框时调用该方法。 - **参数**:`int id` —— 对话框的唯一标识符。 - **返回值**:创建好的`Dialog`对象。 2. **showDialog(int id)**:此方法用于显示一个指定ID的对话框。调用该方法后,系统会自动调用对应的`onCreateDialog`方法创建对话框,并将其显示出来。 - **参数**:`int id` —— 要显示的对话框的ID。 3. **dismissDialog(int id)**:此方法用于关闭一个指定ID的对话框。 - **参数**:`int id` —— 要关闭的对话框的ID。 #### 创建 AlertDialog 示例 示例代码展示了如何使用`AlertDialog`创建一个简单的对话框: ```java AlertDialog.Builder builder = new AlertDialog.Builder(DialogSampleActivity.this); builder.setTitle("标题"); // 设置对话框标题 //builder.setIcon(R.drawable.ic_launcher); // 设置对话框图标 //builder.setCancelable(false); // 设置对话框是否可以通过点击Back键关闭 builder.setMessage("这是一条消息"); // 设置对话框的消息内容 // 设置确认按钮 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogSampleActivity.this, "确定按钮", Toast.LENGTH_SHORT).show(); } }); // 设置中立按钮 builder.setNeutralButton("", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogSampleActivity.this, "中立按钮", Toast.LENGTH_SHORT).show(); } }); // 设置取消按钮 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogSampleActivity.this, "取消按钮", Toast.LENGTH_SHORT).show(); } }); // 创建对话框 AlertDialog dlg = builder.create(); return dlg; ``` #### 创建列表对话框示例 示例代码还提供了如何创建列表对话框的方法: ```java final CharSequence[] items = {"Item1", "Item2", "Item3"}; AlertDialog.Builder builder = new AlertDialog.Builder(DialogSampleActivity.this); builder.setTitle("列表对话框"); // 设置列表项点击监听器 builder.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogSampleActivity.this, "选择了" + items[which], Toast.LENGTH_SHORT).show(); } }); // 创建对话框 AlertDialog dlg = builder.create(); return dlg; ``` #### 创建单选列表对话框示例 此外,还可以创建一个单选列表对话框: ```java final CharSequence[] items = {"Item1", "Item2", "Item3"}; // 设置默认选择的索引为-1,表示没有默认选项 builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(DialogSampleActivity.this, "选择了" + items[which], Toast.LENGTH_SHORT).show(); } }); ``` #### 创建多选列表对话框示例 可以创建一个多选列表对话框: ```java final CharSequence[] items = {"Item1", "Item2", "Item3"}; // checkedItems用于记录哪些项被选中,默认全部未选中 boolean[] checkedItems = new boolean[items.length]; // 设置多选列表项点击监听器 builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(DialogSampleActivity.this, "选择了" + items[which], Toast.LENGTH_SHORT).show(); } }); ``` 以上就是关于“Java Dialog”的详细介绍,包括如何创建不同类型的对话框以及相关的示例代码。通过掌握这些知识点,开发者可以在Android应用中灵活地使用对话框与用户进行交互。
区别在于通过第二种方式创建的对话框会继承Activity的属性,比如获得Activity的menu事件等。
使用AlertDialog可以创建普通对话框、带列表的对话框以及带单选按钮和多选按钮的对话框。
普通对话框
效果如下:
代码:
//创建builder
AlertDialog.Builder builder = new AlertDialog.Builder(DialogSampleActivity.this);
builder.setTitle("普通对话框") //标题
.setIcon(R.drawable.ic_launcher) //icon
.setCancelable(false) //不响应back按钮
.setMessage("这是一个普通对话框") //对话框显示内容
//设置按钮
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogSampleActivity.this, "点击了确定按钮", Toast.LENGTH_SHORT).show();
})
.setNeutralButton("中立", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogSampleActivity.this, "点击了中立按钮", Toast.LENGTH_SHORT).show();
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(DialogSampleActivity.this, "点击了取消按钮", Toast.LENGTH_SHORT).show();
});
//创建Dialog对象
剩余5页未读,继续阅读
- wangtiger8782013-06-06不好用,没有现成的例子
- lishuaizhe2013-07-07最近正在学android,希望有用
- HarryRobin2014-07-21不怎么样~没用~
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- js-leetcode题解之173-binary-search-tree-iterator.js
- js-leetcode题解之172-factorial-trailing-zeroes.js
- js-leetcode题解之171-excel-sheet-column-number.js
- 安卓开发从入门到精通基础教程
- js-leetcode题解之170-two-sum-iii-data-structure-design.js
- (源码)基于Java和Python的垃圾图像分类系统.zip
- (源码)基于Spring Boot和Beetl的代码生成管理系统.zip
- (源码)基于低功耗设计的无线互呼通信系统.zip
- (源码)基于Arduino的盲人碰撞预警系统.zip
- 自己学习java安全的一些总结,主要是安全审计相关.zip