sijia111111 发表于 2020-7-5 12:40:53

求助论坛大佬,关于自定义列表中,列表项里的子组件取出...

如果我自定义列表框,用线性布局+子组件这种模式定义了表项。

反过来列表添加好了,我点击表项还能操作表项内的子组件吗?

比如我子组件加入了按钮编辑框之类,我需要点击表项,按钮里的字变化,或者编辑框内填充内容,这种如何写呢 求教!!

林峰 发表于 2020-7-5 18:07:26

你插入项目时传入了一个自定义数据对象,布局时使用这个数据对象里面的数据 比如:按钮1.内容= 数据对象.标题
你只需要通过   列表框.适配器.取项目(项目索引)获取到自定义数据对象,然后直接修改里面的标题属性比如数据对象.标题="第二个标题"
之后在刷新一下列表框的项目( 自定义列表.适配器.修改项目 (项目索引,数据对象) ),按钮内容就会被改变.

sijia111111 发表于 2020-7-5 18:58:26

林峰 发表于 2020-7-5 18:07
你插入项目时传入了一个自定义数据对象,布局时使用这个数据对象里面的数据 比如:按钮1.内容= 数据对象.标 ...

谢谢 这样确实可以改了,这样的话是曲线救国,我能不能理解成: 直接修改已经完成的列表项里的子组件是不可能得?

林峰 发表于 2020-7-5 19:21:50

sijia111111 发表于 2020-7-5 18:58
谢谢 这样确实可以改了,这样的话是曲线救国,我能不能理解成: 直接修改已经完成的列表项里的子组件是不 ...

可以的,可以通过设置组件的id属性在通过 父布局.查找子组件()来获得组件,在设置他的属性,但是这样还是有个缺点,因为列表框的特性,取对象项目视图这个事件会被多次执行,也就是说你布局的代码会被重复执行,每执行一次就会覆盖之前设置的布局,就导致你之前组件被修改的属性也被覆盖了,所以说你最后还是要通过那个数据对象来获取值,只有这个数据对象从始至终是不会被改变的,除非我们手动改变。

sijia111111 发表于 2020-7-5 19:28:22

林峰 发表于 2020-7-5 19:21
可以的,可以通过设置组件的id属性在通过 父布局.查找子组件()来获得组件,在设置他的属性,但是这样还是 ...

这样 谢谢了。那还是曲线救国来的方便。感谢大佬解惑

wrx198728 发表于 2020-7-5 23:10:40

设置ID
连接事件时可以传入标记
保险点两个都设置

事件方法里都可以查到

创世魂 发表于 2020-7-6 21:42:29

http://doc.voldp.com/a_ctrl_List.htm#zdylbk   

自定义列表框教程。欢迎来看

创世魂 发表于 2020-7-6 21:42:37

本帖结贴,如有其他疑问,请重新发帖提问。
页: [1]
查看完整版本: 求助论坛大佬,关于自定义列表中,列表项里的子组件取出...