Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/MyFamilyAdapter.kt
梁小江 46b0a856fe 1:修改家族展示续签按钮位置
2:修改购买爵位前,先请求一次接口
3:修改所有CP更改为心动
4:修改挚友,初始获取数据变更成40条
5:未实名认证不能进行歌手认证
2025-12-04 15:20:05 +08:00

133 lines
5.2 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.xscm.modulemain.adapter
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Color
import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
import android.widget.TextView
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.BaseViewHolder
import com.google.android.flexbox.FlexboxLayout
import com.xscm.modulemain.Application
import com.xscm.modulemain.R
import com.xscm.moduleutil.bean.MyFamilyBean
import com.xscm.moduleutil.utils.ImageUtils
import com.xscm.moduleutil.utils.MeHeadView
import com.xscm.moduleutil.utils.SpUtil
import com.xscm.moduleutil.widget.ShineTextView
import java.text.DecimalFormat
/**
* 项目名称:羽声语音
* 时间2025/11/27 9:23
* 用途:
*/
class MyFamilyAdapter(
val context: Context,var userId: Int, layoutId: Int, data: MutableList<MyFamilyBean.GroupMembersListsBean>?
) :
BaseQuickAdapter<MyFamilyBean.GroupMembersListsBean, BaseViewHolder>(layoutId, data) {
// 定义点击事件回调接口
interface OnItemClickListener {
fun onItemClick(position: Int, item: MyFamilyBean.GroupMembersListsBean)
fun onRenewClick(position: Int, item: MyFamilyBean.GroupMembersListsBean)
}
private var onItemClickListener: OnItemClickListener? = null
// 设置点击事件监听器
fun setOnItemClickListener(listener: OnItemClickListener) {
onItemClickListener = listener
}
@SuppressLint("DefaultLocale")
override fun convert(
helper: BaseViewHolder,
item: MyFamilyBean.GroupMembersListsBean
) {
// 设置整个项的点击事件
helper.getView<MeHeadView>(R.id.iv_head).setOnClickListener {
val position = helper.adapterPosition
if (position != RecyclerView.NO_POSITION) {
onItemClickListener?.onItemClick(position, item)
}
}
// 设置续租按钮的点击事件
helper.getView<TextView>(R.id.tv_renew).setOnClickListener {
val position = helper.adapterPosition
if (position != RecyclerView.NO_POSITION) {
onItemClickListener?.onRenewClick(position, item)
}
}
var flex_entry: FlexboxLayout=helper.getView(R.id.flex_entry)
var meHeadView : MeHeadView= helper.getView(R.id.iv_head)
var tvName : ShineTextView =helper.getView(R.id.tv_name)
meHeadView.setData(item.avatar,item.dress,item.nobility_image)
// helper.setText(R.id.tv_name,item.nickname)
helper.setText(R.id.tv_net_worth,item.market_value)
if (item.is_online==1){
helper.setImageResource(R.id.im_online, com.xscm.moduleutil.R.mipmap.members_online)
}else{
helper.setImageResource(R.id.im_online, com.xscm.moduleutil.R.mipmap.members_offline)
}
helper.setText(R.id.tv_time, "剩余租期"+item.end_day)
helper.setText(R.id.tv_num, "免费续约次数"+ item.free_renewal)
val decimalFormat = DecimalFormat("#.####")
helper.setText(R.id.tv_today, decimalFormat.format(item.today_earnings.toDouble()))
helper.setText(R.id.tv_yesterday, decimalFormat.format(item.yesterday_earnings.toDouble()))
// helper.setText(R.id.tv_yesterday, item.yesterday_earnings)
tvName.setText(item.nickname)
if (item.nickname_color.isNotEmpty()){
tvName.startColor = Color.parseColor(item.nickname_color)
tvName.shineColor = Color.parseColor(item.nickname_color)
tvName.endColor = Color.parseColor(item.nickname_color)
tvName.isShine = true
tvName.shineType = 0
}
if (userId == SpUtil.getUserId()) {
if (item.is_show_sign==0){
helper.setVisible(R.id.tv_renew,false)
}else{
helper.setVisible(R.id.tv_renew,true)
}
}
if (item.icon.isNotEmpty()) {
flex_entry.isVisible=true
for (url in item.icon) {
if (url.contains("http")) {
val imageView1 = ImageView(Application.getInstance())
val params = LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
Application.getInstance().getResources()
.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_20)
)
params.setMargins(
0,
0,
Application.getInstance().getResources()
.getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_10),
0
) // 右边距
imageView1.setLayoutParams(params)
imageView1.setScaleType(ImageView.ScaleType.FIT_START)
// 使用 Glide 加载图片
ImageUtils.loadHeadCC(url, imageView1, params)
flex_entry.addView(imageView1)
}
}
} else {
flex_entry.isVisible=false
}
}
}