Android中如何使用对话框(单选对话框和多选对话框)

在主XML中声明两个Button,声明Id

package com.example.myapplication;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class alert extends AppCompatActivity {

    private Button putong1;
    private Button duoanniu1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alert);
        putong1 = findViewById(R.id.putong);
        putong1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ShowDialogNormal();
            }
        });
        duoanniu1 =findViewById(R.id.duoanniu);
        duoanniu1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ShowDialogMany();
            }
        });
    }
}

在主类中声明两个Button,分别进行绑定
给Button设置单击事件

在这里插入图片描述

大概就是固定的,主要是OnClick里面的方法是一会定义的,一步一步来,两个按钮都进行这样的处理

记得两个按钮的名字和OnClick里面的方法名不一样

private void ShowMessage(String str) {
        Toast.makeText(alert.this, str, Toast.LENGTH_LONG);
    }

建立一个消息提示,具体的可以百度搜索Toast如何使用
里面参数的意义为(当前类,提示的信息,提示的时间长短);
(在中间那一行的后面加上.show();即可立即提示,这里的提示我们下面有相应的操作就不立即提示了)

 public void ShowDialogNormal() {
        AlertDialog.Builder normal = new AlertDialog.Builder(alert.this);
        normal.setIcon(R.drawable.cat);
        normal.setTitle("普通按钮标题");
        normal.setMessage("请保管对你的随身物品!");
        normal.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                ShowMessage("你点击的普通按钮");
            }
        });
        normal.create().show();
    }

单选按钮对话框的处理
AlertDialog.Builder是提示对话框必需品需要实例化使用,参数为(当前的类)
下一行设置的是提示对话框的图标

下一行是提示对话框的标题

下一行是提示对话框的内容

下一行提示对话框的按钮(固定格式)
参数为(按钮的内容,DialogInterface.OnClickListener)

在OnClick里面写的是刚才声明的方法(传入的参数为你要提示的内容)

最后进行创造并且显示出来

 public  void  ShowDialogMany(){
        AlertDialog.Builder many = new AlertDialog.Builder(alert.this);
        many.setIcon(R.drawable.cow);
        many.setTitle("多选按钮标题");
        many.setMessage("对多选按钮的态度吗");
         many.setNeutralButton("中立", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialog, int which) {
               ShowMessage("中立按钮");
           }
       });
         many.setNegativeButton("反对", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                ShowMessage("反对按钮");
            }
        });
        many.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                ShowMessage("您点击的确定");
            }
        });
      

      
        many.create().show();
   }

多选按钮对话框的处理
AlertDialog.Builder是提示对话框必需品需要实例化使用,参数为(当前的类)
下一行设置的是提示对话框的图标

下一行是提示对话框的标题

下一行是提示对话框的内容

第一个提示对话框的按钮(固定格式)
参数为(按钮的内容,DialogInterface.OnClickListener)这个按钮会提示在左面

第二个提示对话框按钮会提示在中间靠右(从右往左数第二个)

第三个提示对话框按钮会提示在最右面

这三个设置的对话框按钮有稍许的不同

在这里插入图片描述

运行运行运行:
界面
在这里插入图片描述
运行单选按钮:
在这里插入图片描述

运行多选按钮:

在这里插入图片描述

发布了1080 篇原创文章 · 获赞 845 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/a1439775520/article/details/103146310