我一定要使用?.
和!!.
每次的时间内onBindViewHolder
和onCreateViewHolder
?有什么办法可以避免这种情况吗?
holder.textview.text
并parent.context
显示此错误。
代码 :
override fun onBindViewHolder(holder: ViewHolder?, position: Int) {
holder.textview.text = items[position]
}
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int):ViewHolder {
return ViewHolder(TextView(parent.context))
}
当您覆盖在 Java 中声明的方法时,其参数将具有平台类型,这意味着没有关于它们的可空性信息(除非它们被显式注释)。是否将这些参数标记为可空由您决定。请参阅有关平台类型的官方文档。
在您的情况下,您可以安全地?
从这两个参数中删除,因为它们永远不会被传递null
值。这使您不必进行强制性的空检查。
这是删除了可为空类型后的样子:
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.textview.text = items[position]
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(TextView(parent.context))
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句