2025-11-28 09:13:08 +08:00
|
|
|
|
package com.xscm.modulemain.adapter
|
|
|
|
|
|
|
2025-12-04 15:20:05 +08:00
|
|
|
|
import android.annotation.SuppressLint
|
2025-11-28 09:13:08 +08:00
|
|
|
|
import android.content.Context
|
|
|
|
|
|
import android.graphics.Color
|
|
|
|
|
|
import android.view.View
|
|
|
|
|
|
import android.widget.ImageView
|
|
|
|
|
|
import android.widget.LinearLayout
|
2025-12-01 15:35:22 +08:00
|
|
|
|
import android.widget.TextView
|
2025-11-28 09:13:08 +08:00
|
|
|
|
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-12-04 15:20:05 +08:00
|
|
|
|
import java.text.DecimalFormat
|
2025-11-28 09:13:08 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 项目名称:羽声语音
|
|
|
|
|
|
* 时间: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-12-01 15:35:22 +08:00
|
|
|
|
fun onRenewClick(position: Int, item: MyFamilyBean.GroupMembersListsBean)
|
2025-11-28 09:13:08 +08:00
|
|
|
|
}
|
2025-11-28 19:01:37 +08:00
|
|
|
|
|
2025-11-28 09:13:08 +08:00
|
|
|
|
private var onItemClickListener: OnItemClickListener? = null
|
|
|
|
|
|
|
|
|
|
|
|
// 设置点击事件监听器
|
|
|
|
|
|
fun setOnItemClickListener(listener: OnItemClickListener) {
|
|
|
|
|
|
onItemClickListener = listener
|
|
|
|
|
|
}
|
2025-12-04 15:20:05 +08:00
|
|
|
|
@SuppressLint("DefaultLocale")
|
2025-11-28 09:13:08 +08:00
|
|
|
|
override fun convert(
|
|
|
|
|
|
helper: BaseViewHolder,
|
|
|
|
|
|
item: MyFamilyBean.GroupMembersListsBean
|
|
|
|
|
|
) {
|
|
|
|
|
|
// 设置整个项的点击事件
|
2025-12-01 15:35:22 +08:00
|
|
|
|
helper.getView<MeHeadView>(R.id.iv_head).setOnClickListener {
|
2025-11-28 09:13:08 +08:00
|
|
|
|
val position = helper.adapterPosition
|
|
|
|
|
|
if (position != RecyclerView.NO_POSITION) {
|
|
|
|
|
|
onItemClickListener?.onItemClick(position, item)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-12-01 15:35:22 +08:00
|
|
|
|
|
|
|
|
|
|
// 设置续租按钮的点击事件
|
|
|
|
|
|
helper.getView<TextView>(R.id.tv_renew).setOnClickListener {
|
|
|
|
|
|
val position = helper.adapterPosition
|
|
|
|
|
|
if (position != RecyclerView.NO_POSITION) {
|
|
|
|
|
|
onItemClickListener?.onRenewClick(position, item)
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-11-28 09:13:08 +08:00
|
|
|
|
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)
|
|
|
|
|
|
|
2025-12-04 15:20:05 +08:00
|
|
|
|
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)
|
2025-11-28 09:13:08 +08:00
|
|
|
|
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){
|
2025-11-28 19:01:37 +08:00
|
|
|
|
helper.setVisible(R.id.tv_renew,false)
|
2025-11-28 09:13:08 +08:00
|
|
|
|
}else{
|
2025-11-28 19:01:37 +08:00
|
|
|
|
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
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|