AlertDialog对话框的几种实现方法,AlertDialog.Builder类

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值