专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

AlertDialog用法详解,AlertDialog对话框几种实现方法

来源:小易整编  作者:小易  发布时间:2023-02-13 03:55
摘要:AlertDialog用法详解,AlertDialog对话框几种实现方法介绍AlertDialog对话框从简到繁的多种设计方案,从新角度理解UI交互设计。AlertDialog对话框允许自定义弹出对话框的内容,实现比之前讲解的几种对话框更丰...

第4行定义用于复选框列表的字符串数组str。

第5行的布尔型数组flags定义了str数组在复选框列表中的选中状态,true为选中。flags数组的长度应与str数组长度相同。如果flags数组长度小于str数组长度,程序运行到第30行绑定两个数组到builder时会出错。如果flags数组长度大于str数组长度,程序运行到第45行取flags数组的长度,执行到第48行可能会因数组索引超出str数组范围而出错,只要将第45行的flags.length改成str.length程序就能正常运行。

第30行的setMultiChoiceItems()方法将AlertDialog设置为复选框列表。

第35行将复选项的变动值(true或false)同步到flags数组的对应项。

第45行使用for循环遍历数组flags,状态为true的索引项返回str数组的对应值。

第50行将对话框的返回结果传递给editText1。

第53~54行调用builder的create方法生成alertDialog1,再调用show方法显示对话框。

05、自定义控件

目前为止已经介绍了多种对话框,这些对话框的内置控件都是定制好的。本案例讲解自定义对话框中的控件。为便于讲解,对话框中的控件只加入EditText和Button,读者理解设计方式后可自行添加所需控件。

 AlertDialog用法详解,AlertDialog对话框几种实现方法

 AlertDialog用法详解,AlertDialog对话框几种实现方法

 AlertDialog用法详解,AlertDialog对话框几种实现方法

 AlertDialog用法详解,AlertDialog对话框几种实现方法

第17~19行通过自定义showAlertDialog()方法的不同参数调用不同形式的自定义对话框。

当参数为10时执行第29行开始的代码,实现动态添加控件,常用于对布局要求不高的场景。第30行使用EditText的构造方法生成一个文本输入框editTextName。第31行将生成的editTextName文本输入框添加到builder中。第32行添加对话框的标题。第33行添加“确定”按钮,按钮的单击监听器将对话框中的editTextName内容传回main.xml布局文件中的editText1中。

当参数为20时执行第42行开始的代码。此时调用已经设计好的布局文件login.xml。第43行声明LayoutInflater类型的变量inflater20。第44行使用inflate()方法将login.xml中名为linearLayoutLogin的线性布局作为View填充到viewLogin20。第45行是将builder的一系列方法放在一行中连续调用。相关按钮的监听器都设置为null,单击这些按钮就只能执行默认的关闭对话框操作。

当参数为30时执行第47行开始的代码,是对方法一的完善,可以返回文本输入框中的文字内容。实现的方式是重写按钮单击监听器代码。在第57行的findViewById()方法前加了viewLogin30限定。第49行viewLogin30对应的是login.xml布局文件的linearLayoutLogin。如果没有viewLogin30前缀,查找R.id.editTextName从main.xml中查询,找不到程序就会出错退出。如果两个文件中控件重名,没有viewLogin30前缀的findViewById()方法取回的就是main.xml布局文件中的控件。

带自定义控件AlertDialog运行结果如图4-89和图4-90所示。

 AlertDialog用法详解,AlertDialog对话框几种实现方法

■ 图4-89弹出带自定义控件AlertDialog

 AlertDialog用法详解,AlertDialog对话框几种实现方法

■ 图4-90返回带自定义控件AlertDialog信息

【注】Spinner、AutoCompleteTextView和AlertDialog都支持类似的弹出框功能,使用时注意各自的优缺点和使用场景。


本文地址:IT问答频道 https://www.hkm168.com/itwenda/903069_3.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!

共3页 1 2 3 当前是最后一页

IT问答
小编:小易整编
相关文章相关阅读
  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • Java中的Scanner操作详解

    Java中的Scanner操作详解

    scanner是java中的一个常用类,用来读取控制台或文件中的输入数据。它提供了一种简单的方式来解析基本类型和字符串,并支持对正则表达式进行匹配。Scanner类位于java.util包中,因此在编写程序时需要import...

  • 带你搞懂git回滚代码(实例详解)

    带你搞懂git回滚代码(实例详解)

    本篇文章给大家带来了关于git回滚代码的相关知识,git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,希望对大家有帮助。在日常coding的过程中免不了分支之间的合并,回滚、提交、打tag等操作,如果你现...

  • 数据库的substr函数用法是什么

    数据库的substr函数用法是什么

    数据库的substr函数用法:1、【substr(str,pos,len)】从pos开始的位置,截取len个字符;2、【substr(str,pos)】pos开始的位置,一直截取到最后。数据库的substr函数用法:1、SUBSTR(st...

  • C++中的取余函数详解

    C++中的取余函数详解

    C++中的取余函数详解在C++中,取余运算符(%)用于计算两个数相除的余数。它是一种二元运算符,其操作数可以是任何整数类型(包括char、short、int、long等),也可以是浮点数类型(如float、double)。取余运算符返回的结...

  • c语言中pow函数的用法是什么?

    c语言中pow函数的用法是什么?

    在c语言中pow()函数是用来求x的y次幂。x、y及函数值都是double型,其语法为“doublepow(doublex,doubley)”;其中参数“doublex”表示底数;参数“doubley”表示指数。pow()函数...

  • c语言中fun用法详解

    c语言中fun用法详解

    c语言中fun用法详解fun函数是自定义的C/C++语言函数,函数功能多样。该函数名为“函数”英文function的简写,一般在示例和试题中使用,通常在主函数中被调用。C/C++语言中,fun函数通常被主函数所调用。它是指用fun来定义一个...

  • 周排行
  • 月排行
  • 年排行

精彩推荐