如何用可为空的返回值重写recycler.view适配器抽象方法?

wnavrhmk  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(361)

我在做一个回收站。我正在编写一个扩展recyclerview.adpeter的类,并重写适配器抽象方法。我正在处理的列表可能为空。所以我想要以下方法:

override fun getItemViewType(position: Int): Int

返回int?编译器现在告诉我返回的返回类型是错误的,而不是int。所以,如果我想启用一个可为null的列表并且仍然扩展recyclerview.adapter,我该怎么办呢?

xiozqbni

xiozqbni1#

你可以试试这个:

override fun getItemCount(): Int{
    return myList?.size ?: 0
}

进一步简化:

override fun getItemCount(): Int = myList?.size ?: 0

编辑:对于未来的读者,op改变了这个问题。我们在评论中讨论了一下

相关问题