如何使用可为空的返回值覆盖 Recycler.View 适配器抽象方法?
How to override Recycler.View adapter abstract methods with a nullable returned value?
我正在开发 RecyclerView。
我正在写一个扩展 RecyclerView.Adpater 的 class 并且我正在覆盖 Adapter 抽象方法。
我正在使用的列表可能是空的。
所以我想要以下方法:
override fun getItemViewType(position: Int): Int
到 return Int? 而不是 Int,但是现在编译器告诉我我 return 弄错了 return类型。
那么,如果我想启用可空列表并仍然扩展 RecyclerView.Adapter?
,我该怎么办?
你可以试试这个:
override fun getItemCount(): Int{
return myList?.size ?: 0
}
进一步简化:
override fun getItemCount(): Int = myList?.size ?: 0
编辑:对于未来的读者,OP 已经改变了问题。我们在评论中稍微讨论了一下
我正在开发 RecyclerView。 我正在写一个扩展 RecyclerView.Adpater 的 class 并且我正在覆盖 Adapter 抽象方法。 我正在使用的列表可能是空的。 所以我想要以下方法:
override fun getItemViewType(position: Int): Int
到 return Int? 而不是 Int,但是现在编译器告诉我我 return 弄错了 return类型。 那么,如果我想启用可空列表并仍然扩展 RecyclerView.Adapter?
,我该怎么办?你可以试试这个:
override fun getItemCount(): Int{
return myList?.size ?: 0
}
进一步简化:
override fun getItemCount(): Int = myList?.size ?: 0
编辑:对于未来的读者,OP 已经改变了问题。我们在评论中稍微讨论了一下