自定义翻阅器实例讲解

作者:创世魂

 

● 辅助说明

注意:本类位于“安卓基本类”模块中,必须添加此模块才能使用。

 

一、自定义翻阅器

 

● 准备工作

 

界面准备:

打开启动类“界面设计器”,设计如下界面。

组件依次为“按钮1”“自定义翻阅器1”

设置自定义翻阅器1“高/宽度”“匹配父组件高/宽度”

 

 

●项目添加

 

“适配器(读)”帮助文档:

本读属性返回的是“对象数据适配器”

通过此适配器可进行项目数据添加和删除等操作。

 

点开“对象数据适配器”类,可以看到此类中就有插入项目和修改项目等项目操作方法。

 

“取对象项目视图(事件)”帮助文档:

本事件的主要作用,可以用来对自定义翻阅器的单个项目进行布局和数据填充工作。

并且每次添加项目,删除项目等所有项目操作都会触发本事件。

 

代码编写(1):

1、定义一个类名为“翻阅器数据”的公开类。

2、在当前类下增加三个成员变量,类型分别为“可绘制资源”“文本型”,将其全部公开。

 

代码编写(2):

1、在“通知_被创建”被点击下,定义“计次”变量和“可绘制资源”常量。

2、在循环内,分别设置“翻阅器数据1”的三种数据。

3、设置数据后调用“自定义翻阅器1.适配器.插入项目()”,插入“翻阅器数据1”变量。

 

代码编写(3):

以下代码共分两个部分:

(1)项目布局:

1、定义四个变量,类型分别为“线性布局器”“图片框”和两个“文本框”

2、将布局器“布局方向”设置为“纵向”,分别添加这三个子组件。

3、调用“项目信息.所返回组件=根布局”就可以返回单个项目的布局。

(2)项目内容设置:

1、定义类型为“翻阅器数据”的变量勾选参考,通过“(翻阅器数据)项目信息.项目数据对象”取出数据并赋值。

2、最后将翻阅器数据的内容分别赋值给组件显示。

 

代码编写(3):

按钮被点击后,调用“到下一视图()”方法,进行视图切换操作。

 

运行效果如下图(GIF):

最终软件运行后可看到,每个项目都有一个图片框和两个文本框。

对应项目数据也和代码添加的一致。

 

 

●项目内组件单击

 

代码编写(1):

想要实现项目内组件被单击,需要对组件进行“挂接事件()”操作。

如下图所示,对“图片框1”进行挂接事件,随后需要开启支持单击属性。

挂接事件方法的参数2填写“项目信息.项目索引位置”,可以将项目索引传递给图片框单击事件。

 

代码编写(2):

添加“图片框_被单击”事件,通过标记值可取出项目索引。

 

运行效果如下图(GIF):

当点击项目图片就会弹出信息框,显示项目索引。

 

 

●取项目数据

 

帮助文档如下图:

想要取出项目数据,需要使用“取项目()”方法,此方法是“适配器”属性的方法。

本方法只有一个参数,填写要取的项目索引即可,务必保证索引存在。

返回值是“模板类型1”,此类型的实际数据类型就是定义的“翻阅器数据”类。

 

代码编写如下图:

当按钮被点击后,调用“自定义翻阅器1.适配器.取项目()”就可以取出指定索引的项目数据。

注意这里在使用时需要强制转换成“翻阅器数据”后才能进行赋值操作。

最后就可以通过“翻阅器数据1”变量,取出想要的数据。

 

运行效果如下图(GIF):

当按钮被点击后,就可以取出项目0的文本数据。

 

 

●删除项目

 

帮助文档如下图:

本方法同样是继承了适配器的方法,调用本方法还可进行批量删除。

参数1:填写要删除的项目索引。

参数2:填写要删除的数量,默认为1.

参数3:是否立刻刷新,默认真。

 

代码编写如下图:

按钮点击调用本方法删除项目0.

 

运行效果如下图(GIF):

最终可看到项目0被删除。

 

 

●删除所有项目

 

帮助文档如下图:

调用本方法可删除所有项目。

本方法只有一个逻辑参数,默认为真立刻刷新项目。

 

代码编写如下图:

按钮点击调用本方法删除全部,如果参数填写假,则需要调用“通知内容被改变()”来刷新组件显示状态。

 

运行效果如下图(GIF):

最终可看所有项目被删除。

 

 

●取项目数

 

帮助文档如下图:

本方法用于取出项目数量,返回类型是整数。

 

代码编写如下图:

调用本方法可取出当前翻阅器的项目数量。

 

运行效果如下图(GIF):

按钮被点击后,项目数量将会显示在信息框中。

 

 

●项目修改

 

帮助文档如下图:

修改项目需要调用“刷新显示()”方法,本方法是翻阅器自带方法。

 

代码编写如下图:

1、首先调用“取项目()”取出项目数据。

2、取出数据后可进行修改图片操作。

3、最后调用“刷新显示()”方法刷新组件显示。

 

运行效果如下图(GIF):

最后项目0的图片将会被修改。