Android Studio(对话框AlertDialog)

前言

        前面介绍了常用控件的相关属性,那些控件的使用起来也很容易。在本节及后面的章节介绍的控件将是相比于前面使用起来较为复杂的(不过使用多了,也很容易上手)。

        这些控件常常需要配合java代码来使用,比如说对话框、列表视图等等。

        这一节将学习“对话框AlertDialog”的使用。

创建

对话框是需要用户交互的,所以一般是以java代码的形式创建,以下是创建一个简单对话框的代码:

 

new AlertDialog.Builder(this)
    // 对话框标题
    .setTitle("title")
    // 对话框信息内容
    .setMessage("this is Message")
    // 乐观按钮:文本内容、点击处理
    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {

        }
    })
    // 消极按钮:文本内容、点击处理
    .setNegativeButton("取消",null)
    // 展示对话框
    .show();

输入框对话框

        普通对话框的作用是“二次确认”,本质上来说没有什么真正意义上的功能作用。

        有时我们需要在弹出的对话框中进行用户输入,基于输入来进行接下来交互操作,那么上面简单的对框框就不适用了。

        这时,对于AlertDialog.Builder对象就有个setView(View view)可以让我们可以设置对话框指定的内容视图控件,下面是一个弹出对话框用于修改的例子:

EditText editText = new EditText(this);
editText.setHint("请输入要修改的用户名");

AlertDialog confirmDelete = new AlertDialog.Builder(this)
    .setTitle("修改用户名")
    .setView(editText)
    .setPositiveButton("修改", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            System.out.println("修改用户名为:"+editText.getText());
        }
    })
    .setNegativeButton("取消", null)
    .show();

// 当然你也可以通过以下方式引入自定义View
LayoutInflater layoutInflater = LayoutInflater.from(this); 
View upDateView = layoutInflater.inflate(R.layout.my_update, null); 

补充

除了上面谈到的一些方法,这里再补充一些方法以便让我们根据业务需求更好地去定制对话框。

方法功能
setNeutral设置中立按钮
setIcon设置图标
setPositiveButtonIcon设置乐观按钮图标
setNegativeButtonIcon设置消极按钮图标
setNeutralButtonIcon设置中立按钮图标
setItems设置文本列表
setSingleChoiceItems设置单选列表
setMultiChoiceItems设置多选列表

后言

在接下来一节将介绍关于适配器Adapter的相关知识。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/117868.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper本地部署和集群搭建

zookeeper(动物园管理员)是一个广泛应用于分布式服务提供协调服务Apache的开源框架 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它 负责存储和管理大家都关心的数据 ,然 后 接受观察…

最短路径—Dijkstra算法及 变式题(一个人的旅行)

Dijkstra(迪杰斯特拉)算法是 典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径 无向图为以下(对称) : 算法本质: 第一个最短点 (直接与0.源点连接) 第二个次短点 &#…

修改docker 版本的mysql 8.0 本机Navicat 连不上的问题

1.进入容器 docker exec -it xxxx bash 2.使用root账号登录mysql mysql -u root -p 3.查看当前加密方式 use mysql; SELECT Host, User, plugin from user; 我这是改过了,应该都是caching_sha2_password 4. 修改加密方式 ALTER USER root% IDENTIFIED WITH m…

性能测试 —— Jmeter 常用三种定时器

1、同步定时器 位置:HTTP请求->定时器->Synchronizing Timer 当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行…

3、Python基础语法:解释器、标识符、关键字、缩进

文章目录 Python解释器标识符关键字缩进代码示例与运行结果Python是一种高级编程语言,以其简洁明了的语法和强大的功能而受到广泛欢迎。本文将介绍Python的一些基础语法元素,包括解释器、标识符、关键字和缩进,并提供相应的代码示例和运行结果。 Python解释器 Python是一种…

半导体工厂将应用哪些制造创新技术?

半导体工厂是高科技产业的结晶,汇聚了世界上最新的技术。 在半导体的原料硅晶片上绘制设计图纸,不产生误差,准确切割并包装,然后用芯片生产出我们使用的电脑、智能手机、手表等各种电子产品。绝大多数半导体厂都采用一贯的工艺&a…

制造业出海如何乘风破浪?制胜绝招在这里!

目录 问题1: 企业为什么要出海? 问题2: 中国制造业出海企业应具备那些能力? 问题3: 出海应注意哪些事项以保证数据安全? 问题4: 出海企业应怎样做好人才管理? 问题5: 企业如何高质量出海? 国内制造领域各行各业纷…

GitHub黑市曝光,高档刷星6元一颗,最奇葩开源项目97%都是刷的

​梦晨 克雷西 发自 凹非寺 量子位 | 公众号 QbitAI 在黑市买GitHub星星多少钱? 最贵的高达6元一颗。 有创业者Yassin Eldeeeb自掏腰包测试了一把。他足足花20欧元(约156人民币),只买到25颗“高级星星”。 没错,在黑…

Redis03-过期策略和淘汰策略

目录 Redis数据过期策略 Redis数据淘汰策略 Redis数据过期策略 Redis使用一种基于过期策略来处理键的过期和自动失效。这种策略可以确保不再需要的数据被自动删除,以释放内存并避免数据过期后仍然在缓存中存留。 Redis的过期删除策略主要有两种: 惰性…

第一章:java类的继承

系列文章目录 文章目录 系列文章目录前言一、继承的基本概念二、继承的细节总结 前言 继承是类的重要特征之一。 一、继承的基本概念 ​​​​​​ 关键字extends,表示Sab类继承了Base类,则Sab为Base的子类,Base为Sab的父类。继承在现实中是…

【基于HTML5的网页设计及应用】——实现个人简历表格和伪类选择器应用

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

校验验证码是否过期(定时刷新验证码)

需求: 我们在登录的时候会遇到通过接口请求验证码的操作,这里的验证码会有过期的时间,当我们验证码过期了,我们要进行重新刷新验证码。 我们这里根据后端返回的当前时间和过期时间判断,过期的时间超过了当前时间的时候…

TCP/IP协议群

TCP/IP协议群 什么是TCP/IP协议群 从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、…

NVM安装与配置(管理node版本)

NVM安装与配置(管理node版本) 一、安装NVM 下载安装 NVM解压后点击exe文件进行安装:点击下一步安装到 D:\NVM 下先在D:\NVM 下创建nodejs文件夹,然后将路径设置如下:点击next 一直点击 完成安装;地方是非得失范德萨范德萨发![在…

共享WiFi贴码真实收益怎样?如何扩大盈利!

随着移动互联网的快速发展,共享WiFi贴码成为了一个备受关注的话题。这一模式的兴起引起了很多人的关注,因为它似乎为一些创业者提供了一种全新的获取收益的模式。然而,共享WiFi贴码的真实收益到底如何呢? 共享WiFi贴码的基本原理是…

【寒武纪(3)】媒体处理系统的系统控制、视频输入和后处理子系统

系统控制 文章目录 系统控制1、配置视频缓存池Video Pool2、配置硬件IP为在线工作(不通过DDR数据交互)/ 离线工作(写入DDR)模式3、硬IP可以使用 非Video Block (VB)内存4、配置是否启动内存传递的压缩 视频…

第二证券:破发的股票还能回升吗?

随着股票商场动摇的加重,许多投资者面临着他们所持有的股票破发的危险。破发是指股票当时价格低于发行价格,这通常是股票被很多出售的成果。关于那些买在高点的投资者而言,这或许是一场噩梦。但是,破发的股票还能上升吗&#xff1…

多模态情感分析——Twitter15和Twitter17数据集

一、原始数据集介绍 数据集链接: https://pan.baidu.com/s/1JLkaSerBgKe--GBaU0ZkFg?pwdfqyo提取码:fqyo 数据集介绍:原始的被划分为了训练集(60%)、验证集(20%)、测试集(20%&am…

若依笔记(四):代码生成器

已知使用MyBatisPlus代码生成器可以自动生成Entity、Mapper、Service、Controller代码,前提是数据库中有数据表,生成pojo类以及对于该数据表的增删改查命令的代码,若依更进一步能选择表后生成代码、预览、下载,同时可以生产前端代…

chrome 防止http自动转https的方法

1. 左上角,单击地址栏左边 2. 然后点击网站设置 3. 不安全内容改为【允许】 4. 然后以后访问此网站时,就不会再自动跳转为https了