package com.xscm.modulemain.adapter; import static com.xscm.moduleutil.utils.UtilConfig.getContext; import android.graphics.Color; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.alibaba.android.arouter.launcher.ARouter; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.xscm.modulemain.R; import com.xscm.moduleutil.bean.BlackUserBean; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.ColorManager; import com.xscm.moduleutil.utils.ImageUtils; import com.xscm.moduleutil.utils.MeHeadView; import java.util.List; /** *@author qx *@data 2025/5/19 *@description: 黑名单、关注、粉丝列表适配器 */ public class BlackAdapter extends BaseQuickAdapter { // 定义接口用于回调点击事件 public interface OnItemClickListener { void onItemClick(BlackUserBean item); } private OnItemClickListener onItemClickListener; public void setOnItemClickListener(OnItemClickListener listener) { this.onItemClickListener = listener; } public BlackAdapter() { super(R.layout.item_black); } @Override protected void convert(BaseViewHolder helper, BlackUserBean item) { MeHeadView headView = helper.getView(R.id.im_user); headView.setData(item.getAvatar(), "", ""); helper.setText(R.id.tv_nick_name, item.getNickname()); TextView imageView= helper.getView(R.id.im_g); helper.setText(R.id.tv_oline, item.getIs_online() == 1 ? "[在线]" : "[离线]"); // 根据 type 设置图片资源 // 根据 type 和 status 设置图片资源 imageView.setVisibility(View.VISIBLE); if (item.getType() == 0) { // 关注 if (item.getIs_follow() == 0) { // imageView.setImageResource(com.xscm.moduleutil.R.mipmap.gz); ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, ColorManager.getInstance().getPrimaryColorInt(), 34); imageView.setTextColor(ColorManager.getInstance().getButtonColorInt()); imageView.setText("关注"); } else { // imageView.setImageResource(com.xscm.moduleutil.R.mipmap.yigz); ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, Color.parseColor("#EFF2F8"), 34); imageView.setTextColor(Color.BLACK); imageView.setText("已关注"); } } else if (item.getType() == 1) { // 黑名单 // imageView.setImageResource(com.xscm.moduleutil.R.mipmap.yic); ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, Color.parseColor("#333333"), 34); imageView.setTextColor(Color.WHITE); imageView.setText("移除"); } else if (item.getType() == 2) { // 粉丝 if (item.getIs_follow() == 0) { // imageView.setImageResource(com.xscm.moduleutil.R.mipmap.hg); ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, ColorManager.getInstance().getPrimaryColorInt(), 34); imageView.setTextColor(ColorManager.getInstance().getButtonColorInt()); imageView.setText("回关"); } else { // imageView.setImageResource(com.xscm.moduleutil.R.mipmap.yigz); ThemeableDrawableUtils.setThemeableRoundedBackground( imageView, Color.parseColor("#EFF2F8"), 34); imageView.setTextColor(Color.BLACK); imageView.setText("已关注"); } }else if (item.getType() == 3){ imageView.setVisibility(View.GONE); } // 设置点击事件 imageView.setOnClickListener(v -> { if (onItemClickListener != null) { onItemClickListener.onItemClick(item); } }); LinearLayout llContainer =helper.getView(R.id.ll_in); llContainer.removeAllViews(); // 清空旧的 ImageView List images = item.getIcon(); // 获取图片列表 for (String url : images) { if (url.contains("http")) { ImageView imageView1 = new ImageView(getContext()); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57), getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15) ); params.setMargins(0, 0, getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_5), 0); // 右边距 imageView1.setLayoutParams(params); imageView1.setScaleType(ImageView.ScaleType.CENTER_CROP); // 使用 Glide 加载图片 ImageUtils.loadHeadCC(url, imageView1); llContainer.addView(imageView1); } } headView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (item.getType() !=1){ ARouter.getInstance().build(ARouteConstants.USER_HOME_PAGE).withString("userId", item.getUser_id()+"").navigation(); } } }); } }