Kotlin Android中为何无法向Model数据列表添加null?
问题原因及解决办法
核心原因
Kotlin是空安全语言,默认规则下:
CustomersModel属于非空类型,它的实例不能为null- 对应的
List<CustomersModel>也被限制为只能存储非空的CustomersModel实例,因此无法添加null值
另外你的代码还有一处问题:List是只读集合,本身没有add方法,就算修改元素类型,直接调用add也会编译报错,得用可变集合MutableList。
解决步骤
情况1:确实需要存储null元素
把列表元素类型改为可空的CustomersModel?,同时将集合声明为可变类型MutableList:
adapterPaging!!.setOnLoadMoreListener { var customersModels: MutableList<CustomersModel?> = ArrayList() customersModels.add(null) }
情况2:不需要存储null,只是想添加空模型实例
创建一个CustomersModel的空实例(需确保该类有无参构造函数),而非添加null:
adapterPaging!!.setOnLoadMoreListener { var customersModels: MutableList<CustomersModel> = ArrayList() customersModels.add(CustomersModel()) }
内容的提问来源于stack exchange,提问作者mrp
相关产品推荐
相关产品推荐

