8000
是否可以封装成把 数据abstract class HiDataItem<DATA, VH : RecyclerView.ViewHolder>(data: DATA? = null)
这样的话,封装成这样调用 private fun updateUI(data: HomeModel) {
val dataItems = mutableListOf<HiDataItem<*, *>>() data.bannerList?.let { dataItems.add(BannerItem(it)) } data.subcategoryList?.let { dataItems.add(GridItem(it)) } data.goodsList?.forEachIndexed { index, goodsModel -> dataItems.add( GoodsItem( goodsModel, TextUtils.equals(categoryId, DEFAULT_HOT_TAB_CATEGORY_ID) ) ) } finishRefresh(dataItems) }
是否可扩展性就更高了
由于本项目参与者的技术及精力有限无法满足大部分开发者的需求, 欢迎开发者参与贡献
这样多布局成了数据驱动了
文档中第二种方式实现接口 不就是如此吗? 并且这不是严格意义的数据驱动,使用Databinding才是数据驱动
另外你这种方式会导致列表不知道何处就出现未知的条目类型, 所以我不推荐 BRV要求严格注册过的类型才允许展示, 方便追踪和排查问题
Activity
woyoudianhuai commentedon Jan 1, 2025
这样多布局成了数据驱动了
liangjingkanji commentedon Jan 1, 2025
真正的数据驱动是删除View都不会报错
文档中第二种方式实现接口 不就是如此吗?
并且这不是严格意义的数据驱动,使用Databinding才是数据驱动
另外你这种方式会导致列表不知道何处就出现未知的条目类型, 所以我不推荐
BRV要求严格注册过的类型才允许展示, 方便追踪和排查问题