我是 Kotlin 的新手,我尝试了教程中的 RecycleView 实现,但得到了这个
class MainAdapter: RecyclerView.Adapter<CustomViewHolder>() {
val videoTitles = listOf("First Title","Second","Third")
override fun getItemCount(): Int {
return videoTitles.size
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.video_row,parent,false)
return CustomViewHolder(cellForRow)
}
override fun onBindViewHolder(holder: CustomViewHolder?, position: Int) {
val videoTitle = videoTitles.get(position)
holder.view.textView_video_title.text = videoTitle
}
}
class CustomViewHolder(val view: View): RecyclerView.ViewHolder(view){
}
我正在使用 Android Studio 3.4,它会导致错误吗?
最佳答案
我已经在评论里回答了。为了结束问题,我将其作为答案发布在这里。
问题:- onBindViewHolder
参数在父类中不可为 null 因此,当您覆盖它时,它应该是相同的。
class MainAdapter: RecyclerView.Adapter<MainAdapter.CustomViewHolder>() {
val videoTitles = listOf("First Title","Second","Third")
override fun getItemCount(): Int {
return videoTitles.size
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CustomViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
val cellForRow = layoutInflater.inflate(R.layout.activity_dx,parent,false)
return CustomViewHolder(cellForRow)
}
override fun onBindViewHolder(holder: CustomViewHolder, position: Int) {
}
inner class CustomViewHolder(val view: View): RecyclerView.ViewHolder(view){
}
}
关于android - kotlin-类不是抽象的,不实现抽象基类成员(RecyclerView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56437100/