前言
android RecyclerView隐藏整个Item后,该Item还占位留白问题
思考了利用隐藏和现实来控制item
结果实现不了方案
解决方案
要依据 model 的第三个参数(布尔值)决定是否保留数据,可以通过 filter 高阶函数结合 空安全操作符 实现条件过滤!
val healthList: List<HealthHallModel> = listOf(
HealthHallModel("健康沙龙", R.drawable.jk_sl),
HealthHallModel("客户邀约", R.drawable.kh_yy, staffInfo.staffJuese != "2"),
HealthHallModel("定制邀约", R.drawable.dz_yy, staffInfo.staffJuese != "2"),
)
//处理隐藏的item
val filteredList = healthList.filter { model ->
model.isShow ?: true // 若 showIf 为 null 则默认显示
}
//使用过滤后的数据源
adapter.setNewInstance(filteredList.toMutableList())