弹出对话框使用AlertDialogBuilder类构建,再用AlertDialog类具体化。我们假设在屏幕上有一退出程序的按钮,当用户点击该按钮时,弹出对话框询问是否退出程序,用户点击确定时退出程序,点击取消时返回程序。
一、新建一个名为AlertDialog的工程。
二、打开main_activity.xml,添加按钮:<?xml version="1.0" encoding="utf-8"?>
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="退出程序"
android:onClick="showdialog"/>
我们已经指定了该按钮的点击函数为showdialog。
三、打开mainactivity.java,添加showdialog函数:public void showdialog(View view)
{
//Toast.makeText(this,"clickme",Toast.LENGTH_LONG).show();
AlertDialog.Builder alertdialogbuilder=new AlertDialog.Builder(this);
alertdialogbuilder.setMessage("您确认要退出程序");
alertdialogbuilder.setPositiveButton("确定", click1);
alertdialogbuilder.setNegativeButton("取消", click2);
AlertDialog alertdialog1=alertdialogbuilder.create();
alertdialog1.show();
}
注意:第三行和第四行分别指定了两个按钮的文本,它们的帧听函数分别为click1,click2,在程序中定义:private DialogInterface.OnClickListener click1=new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0,int arg1)
{
android.os.Process.killProcess(android.os.Process.myPid());
}
};
private DialogInterface.OnClickListener click2=new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0,int arg1)
{
arg0.cancel();
}
};
第一个onClick函数杀掉自己的进程,结束程序。第二个onClick函数取消对话框,返回到界面。