cloudroam
2 天以前 9755d9eefb12f95fa45c785e526038e10c9c7115
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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)
    }
}