78 lines
3.4 KiB
Java
78 lines
3.4 KiB
Java
package com.xscm.modulemain.adapter;
|
||
|
||
import android.view.View;
|
||
import android.widget.ImageView;
|
||
import android.widget.TextView;
|
||
|
||
import com.xscm.modulemain.R;
|
||
import com.xscm.moduleutil.bean.TopRoom;
|
||
import com.xscm.moduleutil.utils.ImageUtils;
|
||
import com.zhpan.bannerview.BaseBannerAdapter;
|
||
import com.zhpan.bannerview.BaseViewHolder;
|
||
|
||
public class CarouselBannerAdapter extends BaseBannerAdapter<TopRoom> {
|
||
|
||
private OnItemClickListener onItemClickListener;
|
||
|
||
public void setOnItemClickListener(OnItemClickListener listener) {
|
||
this.onItemClickListener = listener;
|
||
}
|
||
@Override
|
||
protected void bindData(BaseViewHolder<TopRoom> holder, TopRoom data, int position, int pageSize) {
|
||
ImageUtils.loadHeadCC(data.getRoom_cover(), holder.itemView.findViewById(R.id.iv_follow_bg));
|
||
TextView textView= holder.itemView.findViewById(R.id.tv_num);
|
||
TextView textView2= holder.itemView.findViewById(R.id.tv_room_name);
|
||
|
||
textView.setText(data.getUser_list().size()+"人");
|
||
textView2.setText(data.getRoom_name());
|
||
ImageView iv = holder.itemView.findViewById(R.id.iv_play);
|
||
ImageUtils.loadRes(com.xscm.moduleutil.R.drawable.voice_play, iv);
|
||
// List<TopRoom.UserList> user_list = data.getUser_list();
|
||
// if (user_list!= null && user_list.size() > 0) {
|
||
// RecyclerView recyclerView = holder.itemView.findViewById(R.id.rv_tags);
|
||
// recyclerView.setLayoutManager(new LinearLayoutManager(holder.itemView.getContext(), LinearLayoutManager.HORIZONTAL, false));
|
||
//
|
||
// // 设置item之间的间隔为负值,实现重叠效果
|
||
// if (recyclerView.getItemDecorationCount() == 0) {
|
||
// recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() {
|
||
// @Override
|
||
// public void getItemOffsets(@NonNull Rect outRect, @NonNull View view,
|
||
// @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
|
||
// super.getItemOffsets(outRect, view, parent, state);
|
||
// // 设置负间距实现重叠效果,根据需要调整数值
|
||
// outRect.left = -dpToPx(holder.itemView.getContext(), 8); // 重叠8dp
|
||
// }
|
||
//
|
||
// private int dpToPx(Context context, int dp) {
|
||
// return (int) TypedValue.applyDimension(
|
||
// TypedValue.COMPLEX_UNIT_DIP, dp,
|
||
// context.getResources().getDisplayMetrics());
|
||
// }
|
||
// });
|
||
// }
|
||
//
|
||
// CarouselImgAdapter adapter = new CarouselImgAdapter();
|
||
//
|
||
// // 创建最多包含3个元素的子列表
|
||
// int endIndex = Math.min(user_list.size(), 3);
|
||
// adapter.setNewData(user_list.subList(0, endIndex));
|
||
// recyclerView.setAdapter(adapter);
|
||
// }
|
||
|
||
// 设置点击事件
|
||
holder.itemView.setOnClickListener(v -> {
|
||
if (onItemClickListener != null) {
|
||
onItemClickListener.onItemClick(holder.itemView, data, position);
|
||
}
|
||
});
|
||
}
|
||
|
||
public interface OnItemClickListener {
|
||
void onItemClick(View view, TopRoom data, int position);
|
||
}
|
||
@Override
|
||
public int getLayoutId(int viewType) {
|
||
return R.layout.index_item_carousel;
|
||
}
|
||
}
|