package com.xscm.modulemain.adapter; import static android.view.View.GONE; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.xscm.modulemain.R; import com.xscm.moduleutil.bean.TopRoom; import com.xscm.moduleutil.utils.ImageUtils; import com.xscm.moduleutil.utils.logger.Logger; import java.util.List; public class HotAdapter extends BaseMultiItemQuickAdapter { public HotAdapter(List data) { super(data); // addItemType(1, R.layout.index_rv_item_room_hot1); addItemType(1, R.layout.index_rv_item_room_hot0); } // 定义点击事件监听器接口 public interface OnRoomClickListener { void onRoomClick(TopRoom room, int position); } // 声明监听器实例 private OnRoomClickListener mOnRoomClickListener; @Override protected void convert(BaseViewHolder helper, TopRoom item) { ImageUtils.loadHeadCC(item.getRoom_cover(), helper.getView(R.id.iv_follow_bg)); TextView tv_name = helper.getView(R.id.tv_name); tv_name.setText(item.getRoom_name()); tv_name.setSelected(true); ImageView iv = helper.getView(R.id.iv_play); if (item.getUser_list()!=null && item.getUser_list().size() > 0) { iv.setVisibility(View.VISIBLE); }else { iv.setVisibility(GONE); } helper.setText(R.id.tv_num, formatHotValue(Integer.parseInt(item.getHot_value()))); ImageUtils.loadRoomItem(item.getLabel_icon(), helper.getView(R.id.iv_type)); helper.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // ARouter.getInstance().build(ARouteConstants.LIVE_ROOM).withString("form","首页热门列表").withString("roomId", item.getId()).navigation(); // ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("form", "首页热门列表").withString("roomId", item.getRoom_id()).navigation(); // 如果外部设置了监听器,则触发外部监听器 if (mOnRoomClickListener != null) { mOnRoomClickListener.onRoomClick(item, helper.getAdapterPosition()); } } }); } private String formatHotValue(int hotValue) { if (hotValue > 10000) { return String.format("%.1fw", hotValue / 10000.0); } else { return String.valueOf(hotValue); } } // 提供设置监听器的方法 public void setOnRoomClickListener(OnRoomClickListener listener) { this.mOnRoomClickListener = listener; } @Override public void onViewRecycled(@NonNull BaseViewHolder holder) { Logger.e("onViewRecycled", "onViewRecycled"); // ImageView imageView = holder.getView(R.id.riv); // if (imageView != null) { // imageView.setImageDrawable(null); // Glide.with(imageView.getContext()).clear(imageView); // } super.onViewRecycled(holder); } }