类StudentAdapter: StudentAdapter{私有变量stdList: ArrayList = ArrayList()
fun addItems(items: ArrayList<StudentModel>){
this.stdList = items
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = StudentViewHolder(
LayoutInflater.from(parent.context).inflate(R.layout.card_items_std, parent,false)
)
override fun onBindViewHolder(holder: StudentViewHolder, position: Int) {
val std = stdList[position]
holder.bindView(std)
}
override fun getItemCount(): Int {
return stdList.size
}
class StudentViewHolder(var view: View): RecyclerView(view){
private var id = view.findViewById<TextView>(R.id.tvId)
private var name = view.findViewById<TextView>(R.id.tvName)
private var email = view.findViewById<TextView>(R.id.tvEmail)
private var btnDelete = view.findViewById<Button>(R.id.btnDelete)
fun bindView(std: StudentModel){
id.text = std.id.toString()
name.text= std.name.toString()
email.text = std.email.toString()
}
}}
发布于 2022-06-11 13:49:36
视图持有者应该扩展RecyclerView.ViewHolder(view)
class StudentViewHolder(var view: View): RecyclerView.ViewHolder(view){
private var id = view.findViewById<TextView>(R.id.tvId)
private var name = view.findViewById<TextView>(R.id.tvName)
private var email = view.findViewById<TextView>(R.id.tvEmail)
private var btnDelete = view.findViewById<Button>(R.id.btnDelete)
fun bindView(std: StudentModel){
id.text = std.id.toString()
name.text= std.name.toString()
email.text = std.email.toString()
}
}这里有很好的文档可供参考
https://stackoverflow.com/questions/72584881
复制相似问题