在图形界面之中,对话框也是人机交互的一种重要的形式,程序可以通过对话框对用户进行一些信息的提示,而
用户也可以通过对话框和程序进行一些简单的交互操作。
在Android的开发之中,所有的对话框都是从android.app.Dialog类继承而来的。
Alert表示的是一个警告的含义,所以AlertDialog表示是的一个警告的概念,主要的功能是产生一条警告信息。
AlertDialog是Dialog的直接子类,所有可以使用Dialog类的各个操作方法,但是这个类的构造方法全部
使用了Protected关键字定义,所以这个关键字定义的权限特点:本类、同一包的类,不同包的子类可以
访问,所以也就意味着AlertDialog类的构造方法被隐藏了。
如果要想创建AlertDialog对话框,那么就必须使用AlertDialogBuilder类完成,而通过这个类的名称
就可以清楚的发现它是一个专门用于对话框的创建类。
在main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/mytext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="北海银滩" />
<Button
android:id="@+id/mybut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除"/>
</LinearLayout>
在MyDialogDemo.java程序中
package com.tarena.dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MyDialogDemo extends Activity {
private Button mybut = null; //定义按钮
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main); //调用布局管理器
this.mybut = (Button) super.findViewById(R.id.mybut); //取得按钮
this.mybut.setOnClickListener(new OnClickListenerImpl()); //设置事件类
}
private class OnClickListenerImpl implements OnClickListener{
public void onClick(View v) {
Dialog dialog = new AlertDialog.Builder(MyDialogDemo.this)
.setTitle("删除信息?") // 创建标题
.setMessage("您确定要删除这条信息吗?") //表示对话框的内容
.setIcon(R.drawable.ic_launcher) //设置LOGO
.setPositiveButton("删除", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
}).setNeutralButton("查看详情", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
}).create(); //创建对话框
dialog.show(); //显示对话框
}
}
}