1.构建者模式创建一个AlertDialog对象
构建者模式是Android开发的一种模式 .
大致的思路:
通过AlertDialog.Builder类创建一个对象,通过该类的方法实现一系列的功能.
AlertDialog.Builder类的常用方法:
1)public AlertDialog.Builder(Context context);
创建AlertDialog.Builder的对象
2)public AlertDialog.Builder setTitle(CharSequence title);
设置对话框的标题
3)public AlertDialog.Builder setMessage(CharSequence message);
设置对话框的显示的信息
4)public AlertDialog.Builder setView(View view);
对话框的内容为一个xml文件,即用xml布局对话框内容
5)public AlertDialog.Builder setPositiveButton(CharSequence text,OnClickListener listener);
为对话框设置一个确定按钮,并监听该按钮
6)public AlertDialog.Builder setNegativeButton(CharSequence text,OnClickListener listener);
为对话框设置一个取消按钮,并监听该按钮
7)public AlertDialog create ()必写
用于真正创建AlertDialog.Builder类的对象
8)public AlertDialog show()
用于显示AlertDialog对话框, 必写
我们根据需求可以用setMessage()方法设置对话框显示的内容,也可以用xml文件设置对话框要显示的内容,如下图所示:
Activity文件
package com.example.myapplication;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class alertDialog extends AppCompatActivity implements View.OnClickListener {
private Button btn_message,btn_xml;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alert_dialog);
btn_message=(Button)findViewById(R.id.btn_message);
btn_xml=(Button)findViewById(R.id.btn_xml);
btn_message.setOnClickListener(this);
btn_xml.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btn_message:
showMessage();
break;
case R.id.btn_xml:
showXml();
break;
}
}
private void showMessage() {
AlertDialog alertDialog=new AlertDialog.Builder(this)
.setTitle("警告框")
.setMessage("您确定退出本程序吗?")//设置对话框显示的内容
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//给对话框添加一个确定按钮
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(alertDialog.this,"您已经退出本程序",Toast.LENGTH_LONG).show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
//给对话框添加一个否定按钮
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(alertDialog.this,"恭喜您还在本程序中",Toast.LENGTH_LONG).show();
}
})
.create();
alertDialog.show();
}
private void showXml() {
final View view= LayoutInflater.from(this).inflate