Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/HotAdapter.java

89 lines
3.2 KiB
Java

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<TopRoom, BaseViewHolder> {
public HotAdapter(List<TopRoom> 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);
}
}