当前位置: 首页 > ai >正文

BaseProviderMultiAdapter多布局总结

大致梳理四种适配器的适用情况和使用流程。

BaseSectionQuickAdapter

适用于分组布局或只有两种类型的情况。需要重新封装数据类(继承JSectionEntity类),类型根据isHeader()方法确定,再由convert()和convertHeader()方法处理不同布局下的数据设置。

BaseMultiItemQuickAdapter

适用于类型较少,业务不复杂的多布局场景。数据类必须实现MultiItemEntity接口,重写getItemType()方法返回类型。接着在适配器中通过addItemType(int type, int layoutResId)方法将类型与布局绑定,最后由convert()方法根据类型处理数据。

BaseDelegateMultiAdapter

适用于数据类不方便扩展的多布局场景。数据类无需继承其他类或实现接口,类型在适配器中通过setMultiTypeDelegate()方法代理 返回。再由getMultiTypeDelegate().addItemType(int type, int layoutResId)方法将类型与布局绑定,最后由convert()方法根据类型处理数据。

BaseProviderMultiAdapter

适用于业务逻辑复杂的多布局场景。数据类无需继承其他类或实现接口,布局、类型、业务逻辑都在对应的ItemProvider中确定,还可以自定义ViewHolder。适配器中只需调用addItemProvider(BaseItemProvider itemProvider)将ItemProvider添加进来,然后在convert()方法中根据数据返回对应类型即可。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_41794891/article/details/131055762

http://www.xdnf.cn/news/9063.html

相关文章:

  • vertica优化
  • 网口XDP-报文回环转发
  • 知识图谱系列(3):构建方法与流程
  • vue3获取两个日期之间的所有时间
  • 解决leetcode第3509题.最大化交错和为K的子序列乘积
  • OceanBase数据库全面解析(高级特性篇)
  • Real2Render2Real:无需动力学仿真或机器人硬件即可扩展机器人数据
  • AI智能混剪核心技术解析(一):字幕与标题生成的三大支柱-字幕与标题生成-优雅草卓伊凡
  • 海思3519V200ARM Linux 下移植 Qt5.8.0
  • 开疆智能Profinet转Profibus网关连接丹佛斯FC300变频器配置案例
  • Windows11+WSL2+Ubuntu22 安装
  • 汽车恒温器行业2025数据分析报告
  • 【Pandas】pandas DataFrame drop_duplicates
  • 【springMVC】springMVC学习系列一:springMVC的组件
  • 调度算法中的轮盘赌与锦标赛选择算子:优势对比与选择策略
  • 创建一个简易的风扇动画界面:基于 WPF 和 XAML 的实现教程
  • 第Y1周打卡——调用官方权重进行检测
  • 每日算法 -【Swift 算法】字符串转整数算法题详解:myAtoi 实现与正则表达式对比
  • 直线参数方程何时必须化为标准形式 |新高考已删
  • golang channel 的特点、原理及使用场景
  • 人工智能 - Magentic-UI与Browser Use 技术选型
  • C++基础算法————递推
  • Neural Blind Deconvolution Using Deep Priors论文阅读
  • 【Dify系列教程重置精品版】第十章:Dify与RAG
  • Guard Trace 值得吗?
  • 3.python操作mysql数据库
  • 切换目录大全
  • Voice Conversion语音转换
  • PHP:赋能Web开发的经典语言与未来演进
  • XSS跨站脚本攻击的原理、危害与防御