From db2e408f6c2eddc363ed76e0f5fd1e59a02aa175 Mon Sep 17 00:00:00 2001 From: zhujie <leon.zhu@cloudroam.com.cn> Date: 星期四, 03 四月 2025 09:12:37 +0800 Subject: [PATCH] 邀请有礼 --- app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt | 33 +++++++++++++++++---------------- 1 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt b/app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt index b045175..02c3744 100644 --- a/app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt +++ b/app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt @@ -1,5 +1,7 @@ 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 @@ -7,30 +9,29 @@ import androidx.recyclerview.widget.RecyclerView import com.example.firstapp.R import com.example.firstapp.entity.InvitationRecord +import com.example.firstapp.utils.Log -class InvitationAdapter : RecyclerView.Adapter<InvitationAdapter.ViewHolder>() { - private var records = emptyList<InvitationRecord>() +class InvitationAdapter( + private val context: Context, + private val data: List<InvitationRecord>, +) : RecyclerView.Adapter<InvitationAdapter.InvitationViewHolder>() { - class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { - val message: TextView = itemView.findViewById(R.id.message) - } - - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { - val view = LayoutInflater.from(parent.context) + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): InvitationViewHolder { + val view = LayoutInflater.from(context) .inflate(R.layout.activity_invitation_success, parent, false) - return ViewHolder(view) - } - override fun onBindViewHolder(holder: ViewHolder, position: Int) { - val record = records[position] + return InvitationViewHolder(view) + } + override fun onBindViewHolder(holder: InvitationViewHolder, position: Int) { + val record = data[position % data.size] // 使用取模实现循环 holder.message.text = "${record.userName}邀请好友,${record.reward}" + } - override fun getItemCount() = records.size + override fun getItemCount() = if (data.isEmpty()) 0 else Int.MAX_VALUE - fun submitList(newList: List<InvitationRecord>) { - records = newList - notifyDataSetChanged() + class InvitationViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val message: TextView = itemView.findViewById(R.id.message) } } \ No newline at end of file -- Gitblit v1.9.3