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)这个按钮会提示在左面
第二个提示对话框按钮会提示在中间靠右(从右往左数第二个)
第三个提示对话框按钮会提示在最右面
这三个设置的对话框按钮有稍许的不同

运行运行运行:
界面

运行单选按钮:

运行多选按钮:

Android中如何使用对话框(单选对话框和多选对话框)的更多相关文章
- Android笔记(十五) Android中的基本组件——单选框和复选框
单选框和多选框通常用来在设置用户个人资料时候,选择性别.爱好等,不需要用户直接输入,直接在备选选项中选择,简单方便. 直接看代码: <?xml version="1.0" e ...
- Android中的AlertDialog使用示例二(普通选项对话框)
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,AlertDialog实现方法为建造者模式. ...
- NopCommerce 3.4中商品详情页面单选框、复选框的美化
先上图给大家看看效果,点这里打开网站(后期可能会找不到这个商品,现在再测试阶段) 现在你能看到的这个页面中,尺寸.文本描述是单选框(属性是我乱写的名字),上门安装是复选框.效果就看到这里,请君跳过图片 ...
- Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
目录 一.提示信息对话框: 二.单选对话框: 三.多选对话框: 四.自定义对话框: 演示项目完整代码: 一.提示信息对话框: //显示提示消息对话框 private void showMsgDialo ...
- Android中的普通对话框、单选对话框、多选对话框、带Icon的对话框、以及自定义Adapter和自定义View对话框详解
对话框就是一个AlertDialog,但是一个简单的AlertDialog,我们却可以将它玩出许多花样来,下面我们就来一起总结一下AlertDialog的用法.看看各位童鞋在平时的工作中否都用到了Al ...
- android中常见对话框之一AlertDialog
在Android应用中,有多种对话框:Dialog.AlertDialog.ProgressDialog.时间.日期等对话框. (1)Dialog类,是一切对话框的基类,需要注意的是,Dialog类虽 ...
- Android开发之使用AlertDialog创建对话框,单选框和多选框
对话框: 对话框的icon,title,message等都可以不设置. 单选框和多选框与对话框勾选步骤基本上一致. 对话框的构建步骤: 1.使用AlertDialog类的内部类Builder类new ...
- Android中Dialog对话框的调用及监听
Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter, ...
- android中的常见对话框
在android中对话框是一种常见的操作,常见的对话框有下面几种: 以下是xml布局文件: <LinearLayout xmlns:android="http://schemas.an ...
随机推荐
- Web(4)servlet
一.servlet.GenericServlet.HttpServlet 1.servlet具有四个生命周期方法 特性:单例模式,线程不安全,效率高 2.servletConfig接口对应根元素对应的 ...
- [hdu4670 Cube number on a tree]点分治
题意:给一个N个带权节点的树,权值以给定的K个素数为因子,求路径上节点乘积为立方数的路径条数 思路:立方数的性质是每个因子的个数为3的倍数,那么每个因子只需要保存0-2三个状态即可,然后路径就可以转化 ...
- YOLOV4在linux下训练自己数据集(亲测成功)
最近推出了yolo-v4我也准备试着跑跑实验看看效果,看看大神的最新操作 这里不做打标签工作和配置cuda工作,需要的可以分别百度搜索 VOC格式数据集制作,cuda和cudnn配置 我们直接利用 ...
- 网络编程采用HttpClient类更好
一般人网络编程普遍用HttpWebRequest,类似下面的实现.我也一般都这样实现 string result = string.Empty; HttpWebRequest request = (H ...
- jconsole+idea监控+(jvisualvm 本地内存分析)
1.idea启动配置 添加以下内容 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.mana ...
- INNODB索引单列不能超767 复合不能超3072
innodb复合索引长度为什么是3072 我们知道InnoDB一个page的默认大小是16k.由于是Btree组织,要求叶子节点上一个page至少要包含两条记录(否则就退化链表了). ...
- Spring 自动装配 byType
自动装配 byType,这种模式由属性类型指定自动装配. Spring 容器看作 beans,在 XML 配置文件中 beans 的 autowire 属性设置为 byType.然后,如果它的 typ ...
- mysql单记录也能造成的死锁
最近在开发的时候,在mysql Innodb 引擎下,一条记录记录也能引起锁的事件. 场景描述 在项目压测的是,突然发现有类似以下的异常发生: com.mysql.jdbc.exceptions.jd ...
- CentOS7初始化服务器开发环境——根据个人习惯而定
目录 修改hostname 创建个人账户和组 修改hostname 编辑主机名称,注意:执行以下指令,无需重启服务器,因为此指令实时写入linux 内核 hostnamectl --static se ...
- MyBatis——com.mysql.cj.exceptions.InvalidConnectionAttributeException
报错信息 Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.c ...