89 lines
3.2 KiB
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);
|
|
}
|
|
} |