首页 > 基础资料 博客日记
【Harmony OS】【JAVA UI】使用ListContainer与BaseItemProvider时,删除一行item,position没有更新
2023-07-24 16:51:44基础资料围观475次
本篇文章分享【Harmony OS】【JAVA UI】使用ListContainer与BaseItemProvider时,删除一行item,position没有更新,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识
鸿蒙开发中,遇到不少小问题,今天,就来和大家分享一下我遇到的一个小问题吧,希望对大家有所帮助
【问题描述】
在做鸿蒙应用开发时,使用ListContainer与BaseItemProvider,当点击item中的组件,删除一行数据,并且调用刷新数据方法,报错了。
有使用getItemComponentType()方法使用多种item布局的方式,但是当我删除某一个item后,并且调用notifyDataChange方法刷新ListContainer,直接就报错说xxx组件空了。
那么如何正确使用ListContainer组件实现不同布局的复用,且在删除或插入数据之后调用getItemComponentType不会引起报错?
1、列表中第二行显示了一张图片,第三行显示的是三张图片;
2、删除List数据中对应第二行的数据,并且调用notifyDataChanged刷新列表;
3、原本的第二行被删除,第三行来到了第二行,但却变成了只显示一张图片,使用了一张图片的布局类型;
4、我猜测是因为布局复用出了问题,但却是根据官方推荐的写法来做的,这该如何解决呢?
【解决方案】
这个是由于是temp组件的复用导致的,可以定义一个Holder类来进行复用,可以参考官方示例代码中SettingHolder的使用:
文章来源:https://www.cnblogs.com/developer-huawei/p/16494436.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- springboot~3.x项目中使用集成测试
- Java测试类、工具类与JavaBean对比解析
- SpringBoot-日志
- springboot~http2的支持
- 解疑释惑 - 日志体系之 slf4j + logback 组合(一)
- Web server failed to start. Port 8080 was already in use. 端口被占用
- Springboot 项目配置多数据源
- 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
- 剑指offer-23、搜索⼆叉树的后序遍历序列
- 一个表示金额的数字是 100000000L,这是多少米?