Android Studio(对话框Alert)

news/2024/7/16 9:07:01 标签: android studio, android, ide, java, 安卓

前言

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

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

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

创建

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

 

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)可以让我们可以设置对话框指定的内容视图控件,下面是一个弹出对话框用于修改的例子:

 

java">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设置多选列表

后言

在下一节将介绍关于列表视图ListView的相关知识。 


http://www.niftyadmin.cn/n/5153553.html

相关文章

[MICROSAR Adaptive] --- Hello Adaptive World

Automotive E/E Architecture and AUTOSAR Adaptive Platform Vector Solution: MICROSAR Adaptive First project: Hello Adaptive World Summary 1 引言 1.1 AP诞生的历史背景 新一代电子电器架构通常将车内的节点分为三类。计算平台,预控制器和传感器执行器相关的节点,…

【Redis】分布式锁

分布式锁 分布式锁是一种在分布式系统中实现同步机制的技术。它允许多个进程或节点在访问共享资源时进行同步,以确保它们按照预期的顺序执行。 这篇文章使用Redis来分布式锁,通俗的来说,分布式锁本质上要实现的目标就是在Redis里面占一个 “…

connect-history-api-fallback原理

connect-history-api-fallback是一个用于处理前端路由的中间件,它的原理是在服务器接收到请求时,检查请求的路径是否匹配到静态文件(如HTML、CSS、JS等),如果不匹配,则将请求重定向到前端的入口文件&#x…

HMAC是什么?有什么作用? 安当加密

HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)的缩写,它是一种基于Hash函数和密钥进行消息认证的方法,由H.Krawezyk,M.Bellare,R.Canetti于1996年提出,并于1997年作为RFC2104被公布&am…

Javascript知识点详解:数组、Array 对象

目录 数组 定义 数组的本质 对象有两种读取成员的方法: length 属性 in 运算符 for...in 循环和数组的遍历 数组的空位 类似数组的对象 Array 构造函数 静态方法 Array.isArray() 实例方法 valueOf(),toString() push(),pop(…

C生万物 | 从浅入深理解指针【第三部分】(qsort的使用和模拟实现)

C生万物 | 从浅入深理解指针【第四部分】(qsort的使用和模拟实现) 文章目录 C生万物 | 从浅入深理解指针【第四部分】(qsort的使用和模拟实现)回调函数是什么?qsort使用举例qsort函数的模拟实现 回调函数是什么&#x…

计算机科学中的栈(Stack)与堆( Heap)

计算机科学中的栈(Stack)与堆( Heap) 在计算机科学中,栈(Stack)和堆(Heap)是计算机科学中两种常用的内存管理技术,它们用于存储程序运行过程中产生的数据。这…

Latex安装记录

Title:Latex 基本概念 Tex:是一种具有编译和排版功能的基础语言,相当于C语言。 Latex::LaTex是 Tex 的扩展版本,拥有多种宏包,能实现比 Tex 更多的功能。 TexLive:是一种 Tex 语言的发行版本。 Texstudio: 一种软件相…