对话框是程序运行中的弹出窗口。Android系统提供了四种对话框:警告对话框(AlertDialg)、进度对话框(ProgressDialog)、日期选择对话框(DatePickerDialog)和时间对话框(TimePickerDialog)。在此先讲解AlertDialog,提他对话框在后续章节会进行讲述。
AlertDialog是一个提示窗口,要求用户做出选择。该对话框中一般会有几个选择按钮、标题信息和提示信息。
在程序中创建对话框步骤如下:
1、获得AlertDialog的静态内部类Builder对象,由该类来创建对话框。
2、通过Builder对象设置对话框的标题、按钮以及按钮将要响应的事件。
3、调用Builder的create()方法创建对话框。
4、调用AlertDialog的show()方法显示对话框。
案例一:下面创建了一个具有”是“、”否“按钮和提示信息的对话框,用来确认用户的操作。
- package com.xiaomo.ui;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
- import com.example.helloworld.R;
- public class ALert_Dialog extends Activity {
- // 声明TextView对象
- private TextView myTextView;
- // 声明Button对象
- private Button myButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- myTextView = (TextView) findViewById(R.id.main_text);
- myButton = (Button) findViewById(R.id.main_button);
- // 实例化AlertDailog.Builder对象
- final AlertDialog.Builder builder = new AlertDialog.Builder(this);
- // 添加按钮的单击事件
- myButton.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- // 设置显示信息
- builder.setMessage("确定要删除该记录吗?")
- .
- // 设置确定按钮
- setPositiveButton("是",
- new DialogInterface.OnClickListener() {
- // 单击事件
- public void onClick(DialogInterface dialog,
- int which) {
- // 设置TextView文本
- myTextView.setText("删除成功!");
- }
- }).
- // 设置取消按钮
- setNegativeButton("否",
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int which) {
- myTextView.setText("取消删除!");
- }
- });
- // 创建对话框
- AlertDialog ad = builder.create();
- // 显示对话框
- ad.show();
- }
- });
- }
- }
案例二:下面创建了一个像上下文菜单一样来设置多个条目选项。
- package com.xiaomo.ui;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.TextView;
- import com.example.helloworld.R;
- public class Context_Alert_Dialog extends Activity {
- //声明组件
- private TextView myTextView;
- private Button myButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //获取组件实例
- myTextView = (TextView) findViewById(R.id.main_text);
- myButton = (Button) findViewById(R.id.main_button);
- //对话框选项数组
- final String[] items = { "奶茶", "咖啡", "果汁" };
- //实例化AlertDialog.Builder实例
- final AlertDialog.Builder builder = new AlertDialog.Builder(this);
- //添加按钮单击监听器
- myButton.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- //设置标题和选项
- builder.setTitle("请点餐").setItems(items,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int which) {
- //设置文本内容为选中的选项
- myTextView.setText(items[which]);
- }
- });
- //以单项按钮样式显示
- // builder.setTitle("请点餐").setSingleChoiceItems(items, -1,
- // new DialogInterface.OnClickListener() {
- // public void onClick(DialogInterface dialog,
- // int which) {
- // myTextView.setText(items[which]);
- // }
- // });
- AlertDialog ad = builder.create();
- ad.show();
- }
- });
- }
- }
摘自 :http://blog.csdn.net/cl05300629/article/details/17962643