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.example.firstapp.utils.Log
|
import com.google.android.material.imageview.ShapeableImageView
|
|
|
class InvitationAdapter(
|
private val context: Context,
|
private val data: List<InvitationRecord>,
|
) : RecyclerView.Adapter<InvitationAdapter.InvitationViewHolder>() {
|
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): InvitationViewHolder {
|
val view = LayoutInflater.from(context)
|
.inflate(R.layout.activity_invitation_success, parent, false)
|
|
return InvitationViewHolder(view)
|
}
|
override fun onBindViewHolder(holder: InvitationViewHolder, position: Int) {
|
val record = data[position % data.size] // 使用取模实现循环
|
holder.message.text = "${record.userName}邀请好友,${record.reward}"
|
// 头像读取
|
// 假设 record.avatarUrl 是网络头像 URL
|
Glide.with(holder.itemView.context)
|
.load(record.cover) // 网络图片的 URL
|
.placeholder(R.drawable.avatar) // 加载中的占位图
|
.circleCrop() // 将图片裁剪成圆形
|
.into(holder.avatar)
|
|
}
|
|
override fun getItemCount() = if (data.isEmpty()) 0 else Int.MAX_VALUE
|
|
class InvitationViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
val message: TextView = itemView.findViewById(R.id.message)
|
val avatar: ShapeableImageView = itemView.findViewById(R.id.invite_success_avatar)
|
}
|
}
|