128 lines
5.4 KiB
Java
128 lines
5.4 KiB
Java
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<BlackUserBean, BaseViewHolder> {
|
|
|
|
// 定义接口用于回调点击事件
|
|
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<String> 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();
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
}
|