package com.example.firstapp.adapter
|
|
import android.content.Context
|
import android.text.TextUtils
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.ViewGroup
|
import android.widget.TextView
|
import androidx.recyclerview.widget.RecyclerView
|
import com.bumptech.glide.Glide
|
import com.example.firstapp.R
|
import com.example.firstapp.entity.InvitationRecord
|
import com.google.android.material.imageview.ShapeableImageView
|
|
|
class InvitationRecord2Adapter(
|
private val records: List<InvitationRecord>
|
) : RecyclerView.Adapter<InvitationRecord2Adapter.RecordViewHolder>() {
|
|
|
|
class RecordViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
val avatarImageView: ShapeableImageView = itemView.findViewById(R.id.avatarImageView)
|
val nameTextView: TextView = itemView.findViewById(R.id.nameTextView)
|
val statusTextView: TextView = itemView.findViewById(R.id.statusTextView)
|
}
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecordViewHolder {
|
val view = LayoutInflater.from(parent.context)
|
.inflate(R.layout.item_invitation_record, parent, false)
|
return RecordViewHolder(view)
|
}
|
|
override fun onBindViewHolder(holder: RecordViewHolder, position: Int) {
|
val record = records[position]
|
|
// 加载网络图片
|
Glide.with(holder.itemView.context)
|
.load(record.cover) // 网络图片 URL
|
.placeholder(R.drawable.default_avatar) // 加载中占位图
|
.error(R.drawable.default_avatar) // 加载失败时显示的图片
|
.into(holder.avatarImageView)
|
|
holder.nameTextView.text = record.userName
|
holder.statusTextView.text = record.status
|
}
|
|
override fun getItemCount(): Int = records.size
|
}
|