Files
yusheng-android/MainModule/src/main/java/com/xscm/modulemain/adapter/RoomSettingAdapter.java
2025-12-22 18:40:57 +08:00

155 lines
7.0 KiB
Java

package com.xscm.modulemain.adapter;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.xscm.modulemain.R;
import com.xscm.moduleutil.bean.room.RoomSettingBean;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class RoomSettingAdapter extends BaseQuickAdapter<RoomSettingBean, BaseViewHolder> {
private OnItemClickListener mListener;
private int itemPos = 0;
public void setItemPos(int itemPos) {
this.itemPos = itemPos;
}
public interface OnItemClickListener {
void onItemClick(RoomSettingBean item,int position,int itemPos,HorizontalListAdapter horizontalListAdapter);
}
public void setOnItemClickListener(OnItemClickListener listener) {
mListener = listener;
}
public RoomSettingAdapter() {
super(R.layout.item_title);
}
// public RoomSettingAdapter(List<RoomSettingBean> data) {
// super(data);
// addItemType(RoomSettingBean.ITEM_TYPE_DEFAULT, R.layout.item_title);
// addItemType(RoomSettingBean.ITEM_TYPE_WITH_ICON, R.layout.item_setting);
// }
@Override
protected void convert(BaseViewHolder holder, RoomSettingBean item) {
if (item.isStatus() && item.getChildren()!=null && !item.getChildren().isEmpty()) {
holder.setVisible(R.id.tv_title, item.isStatus());
holder.setText(R.id.tv_title, item.getName());
RecyclerView rvContent = holder.getView(R.id.rv_content);
rvContent.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
HorizontalListAdapter adapter = new HorizontalListAdapter(item.getChildren());
rvContent.setAdapter(adapter);
adapter.setOnItemClickListener(new HorizontalListAdapter.OnItemClickListener() {
@Override
public void onItemClick(int itemPos, RoomSettingBean item,HorizontalListAdapter itemAdapter) {
if (mListener != null)
mListener.onItemClick(item, holder.getAdapterPosition(),itemPos,itemAdapter);
}
});
}
// if (item.getItemType() == RoomSettingBean.ITEM_TYPE_DEFAULT) {
// holder.setVisible(R.id.tv_title, true);
// holder.setText(R.id.tv_title, item.getName());
// } else {
// holder.setText(R.id.tv_name, getName(item.getType(), item.isSelect(), item.getName()));
// holder.setImageResource(R.id.iv_icon, getIconResId(item.getType(), item.isSelect()));
// }
}
private String getName(int type, boolean isSelected, String name) {
boolean b = isSelected;
switch (type) {
case RoomSettingBean.QXRoomSettingTypeRoomOrderMic:
return b ? "排麦模式" : "自由模式";
case RoomSettingBean.QXRoomSettingTypeRoomCloseEffects:
return b ? "关闭特效" : "开启特效";
case RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen:
return b ? "关闭飘屏" : "开启飘屏";
default:
return name;
}
}
// 根据 type 获取对应的图标资源 ID
private int getIconResId(int type, boolean isSelected) {
boolean b = isSelected;
switch (type) {
case RoomSettingBean.QXRoomSettingTypeRoomTypeSing:
return com.xscm.moduleutil.R.mipmap.ic_jiaoy;
case RoomSettingBean.QXRoomSettingTypeRoomTypeAuction:
return com.xscm.moduleutil.R.mipmap.ic_auction;
case RoomSettingBean.QXRoomSettingTypeRoomTypeBoy:
return com.xscm.moduleutil.R.mipmap.ic_boy;
case RoomSettingBean.QXRoomSettingTypeRoomTypeGirl:
return com.xscm.moduleutil.R.mipmap.ic_girl;
case RoomSettingBean.QXRoomSettingTypeRoomTypeJiaoy:
return com.xscm.moduleutil.R.mipmap.ic_sing;
case RoomSettingBean.QXRoomSettingTypeRoomTypeHUYU:
return com.xscm.moduleutil.R.mipmap.huyu;
case RoomSettingBean.QXRoomSettingTypeRoomTypeLianG:
return com.xscm.moduleutil.R.mipmap.icon_liang;
case RoomSettingBean.QXRoomSettingTypeRoomTypeSIGNCONTRACT:
return com.xscm.moduleutil.R.mipmap.icon_sign_contract;
// 常用工具
case RoomSettingBean.QXRoomSettingTypeRoomSubsidy:
return com.xscm.moduleutil.R.mipmap.ic_subsidy;
case RoomSettingBean.QXRoomSettingTypeRoomCompere:
return com.xscm.moduleutil.R.mipmap.ic_compere;
case RoomSettingBean.QXRoomSettingTypeRoomClearMessage:
return com.xscm.moduleutil.R.mipmap.ic_clear_message;
case RoomSettingBean.QXRoomSettingTypeRoomOrderMic:
return b ? com.xscm.moduleutil.R.mipmap.ic_order_mic : com.xscm.moduleutil.R.mipmap.ic_order_mic_selected;
case RoomSettingBean.QXRoomSettingTypeRoomBgMusic:
return com.xscm.moduleutil.R.mipmap.ic_bg_music;
case RoomSettingBean.QXRoomSettingTypeRoomBgImage:
return com.xscm.moduleutil.R.mipmap.ic_bg_image;
// 更多操作
// case RoomSettingBean.QXRoomSettingTypeRoomLeave:
// return com.xscm.moduleutil.R.mipmap.ic_leave;
case RoomSettingBean.QXRoomSettingTypeRoomShare:
return com.xscm.moduleutil.R.mipmap.ic_share;
case RoomSettingBean.QXRoomSettingTypeRoomMyDress:
return com.xscm.moduleutil.R.mipmap.tiaoyint;
case RoomSettingBean.QXRoomSettingTypeRoomSetting:
return com.xscm.moduleutil.R.mipmap.ic_room_setting;
case RoomSettingBean.QXRoomSettingTypeRoomWelcome:
return com.xscm.moduleutil.R.mipmap.ic_welcome;
case RoomSettingBean.QXRoomSettingTypeRoomCloseEffects:
return b ? com.xscm.moduleutil.R.mipmap.ic_close_effects : com.xscm.moduleutil.R.mipmap.ic_open_effects;
case RoomSettingBean.QXRoomSettingTypeRoomReport:
return com.xscm.moduleutil.R.mipmap.ic_report;
case RoomSettingBean.QXRoomSettingTypeRoomFloatingScreen:
return b ? com.xscm.moduleutil.R.mipmap.ic_close_floating_screen : com.xscm.moduleutil.R.mipmap.ic_open_floating_screen;
case RoomSettingBean.QXRoomSettingTypeRoomFloatingRed:
return com.xscm.moduleutil.R.mipmap.red_tx;
case RoomSettingBean.QXRoomSettingTypeRoomTheCityYears:
return com.xscm.moduleutil.R.mipmap.the_city_years;
case RoomSettingBean.QXRoomSettingTypeRoomTimeSpace:
return com.xscm.moduleutil.R.mipmap.time_space;
default:
return 0;
}
}
}