From 87ddd5c168fe47244f661d6d6a08a81150256af9 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期五, 25 四月 2025 13:44:40 +0800
Subject: [PATCH] 1.好友邀请-我的邀请记录:列表样式重写,图片显示
---
app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt | 43 +++++++++++++++++++++++++++----------------
1 files changed, 27 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..c617585 100644
--- a/app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt
+++ b/app/src/main/java/com/example/firstapp/adapter/InvitationAdapter.kt
@@ -1,36 +1,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 : 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}"
+ // 头像读取
+ // 假设 record.avatarUrl 是网络头像 URL
+ Glide.with(holder.itemView.context)
+ .load(record.cover) // 网络图片的 URL
+ .placeholder(R.drawable.avatar) // 加载中的占位图
+ .circleCrop() // 将图片裁剪成圆形
+ .into(holder.avatar)
+
}
- 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)
+ val avatar: ShapeableImageView = itemView.findViewById(R.id.invite_success_avatar)
}
}
\ No newline at end of file
--
Gitblit v1.9.3