Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/MyFamilyAdapter.kt

116 lines
4.5 KiB
Kotlin
Raw Normal View History

2025-11-28 09:13:08 +08:00
package com.xscm.modulemain.adapter
import android.content.Context
import android.graphics.Color
import android.view.View
import android.widget.ImageView
import android.widget.LinearLayout
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
/**
* 项目名称羽声语音
* 时间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)
}
2025-11-28 09:13:08 +08:00
private var onItemClickListener: OnItemClickListener? = null
// 设置点击事件监听器
fun setOnItemClickListener(listener: OnItemClickListener) {
onItemClickListener = listener
}
override fun convert(
helper: BaseViewHolder,
item: MyFamilyBean.GroupMembersListsBean
) {
// 设置整个项的点击事件
helper.itemView.setOnClickListener {
val position = helper.adapterPosition
if (position != RecyclerView.NO_POSITION) {
onItemClickListener?.onItemClick(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)
helper.setText(R.id.tv_today, item.today_earnings)
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)
2025-11-28 09:13:08 +08:00
}else{
helper.setVisible(R.id.tv_renew,true)
2025-11-28 09:13:08 +08:00
}
}
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
}
}
}