Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/BlackAdapter.java
2025-11-12 16:42:51 +08:00

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();
}
}
});
}
}