在主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)这个按钮会提示在左面

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

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

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

运行运行运行:

界面



运行单选按钮:

运行多选按钮:

Android中如何使用对话框(单选对话框和多选对话框)的更多相关文章

  1. Android笔记(十五) Android中的基本组件——单选框和复选框

    单选框和多选框通常用来在设置用户个人资料时候,选择性别.爱好等,不需要用户直接输入,直接在备选选项中选择,简单方便. 直接看代码: <?xml version="1.0" e ...

  2. Android中的AlertDialog使用示例二(普通选项对话框)

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ...

  3. NopCommerce 3.4中商品详情页面单选框、复选框的美化

    先上图给大家看看效果,点这里打开网站(后期可能会找不到这个商品,现在再测试阶段) 现在你能看到的这个页面中,尺寸.文本描述是单选框(属性是我乱写的名字),上门安装是复选框.效果就看到这里,请君跳过图片 ...

  4. Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)

    目录 一.提示信息对话框: 二.单选对话框: 三.多选对话框: 四.自定义对话框: 演示项目完整代码: 一.提示信息对话框: //显示提示消息对话框 private void showMsgDialo ...

  5. Android中的普通对话框、单选对话框、多选对话框、带Icon的对话框、以及自定义Adapter和自定义View对话框详解

    对话框就是一个AlertDialog,但是一个简单的AlertDialog,我们却可以将它玩出许多花样来,下面我们就来一起总结一下AlertDialog的用法.看看各位童鞋在平时的工作中否都用到了Al ...

  6. android中常见对话框之一AlertDialog

    在Android应用中,有多种对话框:Dialog.AlertDialog.ProgressDialog.时间.日期等对话框. (1)Dialog类,是一切对话框的基类,需要注意的是,Dialog类虽 ...

  7. Android开发之使用AlertDialog创建对话框,单选框和多选框

    对话框: 对话框的icon,title,message等都可以不设置. 单选框和多选框与对话框勾选步骤基本上一致. 对话框的构建步骤: 1.使用AlertDialog类的内部类Builder类new ...

  8. Android中Dialog对话框的调用及监听

    Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter, ...

  9. android中的常见对话框

    在android中对话框是一种常见的操作,常见的对话框有下面几种: 以下是xml布局文件: <LinearLayout xmlns:android="http://schemas.an ...

随机推荐

  1. python语法学习第十一天--模块

    容器----------->数据的封装 函数----------->语句的封装 类-------------->方法和属性的封装 模块----------->程序本身  导入: ...

  2. 【HDU4991】树状数组

    http://acm.hdu.edu.cn/showproblem.php?pid=4991 用f[i][j] 表示 前i个数以第i个数结尾的合法子序列的个数,则递推式不难写出: f[i][j] = ...

  3. Windows10系统优化(批处理)

    经历过XP.Win7.Vista.Win8之后,Win10有了很大的改变,虽然Win10刚出时,非常糟糕,甚至很长一段时间被认为没有Win7,但是随着Win10的不断优化不断更新,已经慢慢的变得更好了 ...

  4. docker build报错

    docker build 遇到问题 "can  not stat ... APPData\Local\Application Data" 解决方法:

  5. MyBatis缓存机制(一级缓存,二级缓存)

    一,MyBatis一级缓存(本地缓存) My Batis 一级缓存存在于 SqlSession 的生命周期中,是SqlSession级别的缓存.在操作数据库时需要构造SqlSession对象,在对象中 ...

  6. Blazor WebAssembly 3.2 正式发布

    5月 20日,微软 发布了 Blazor WebAssembly 3.2(https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0- ...

  7. python3.x 基础三:函数

    1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程变成,万事皆过程,def定义过程 3.函数式编程,将某种功能封装起来,用的时候直接调用函数名,def定义函数,也叫f ...

  8. 模板:JSP公共内容

    page页面标签指令 <%@ page %> taglib标准标签指令 <%@ taglib %> 标签内基本属性 language="设置JSP页面使用的语言&qu ...

  9. 【Java】面试官灵魂拷问:if语句执行完else语句真的不会再执行吗?

    写在前面 最近跳槽找工作的朋友确实不少,遇到的面试题也是千奇百怪,这不,一名读者朋友面试时,被面试官问到了一个直击灵魂的问题:if 语句执行完else语句真的不会再执行吗?这个奇葩的问题把这名读者问倒 ...

  10. Ant Design of Vue 组件库的使用

    文档里面很清楚 安装步骤    这是全部引入的 1  有的组价涉及到汉化的问题 import moment from 'moment' import '../../../../node_modules ...