package com.xscm.modulemain.adapter; import android.view.View; 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.List; public class RoomSettingAdapter extends BaseQuickAdapter { private OnItemClickListener mListener; public interface OnItemClickListener { void onItemClick(RoomSettingBean item,int position); } public void setOnItemClickListener(OnItemClickListener listener) { mListener = listener; } public RoomSettingAdapter() { super(R.layout.item_title); } // public RoomSettingAdapter(List 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(RoomSettingBean item) { if (mListener != null) mListener.onItemClick(item, holder.getAdapterPosition()); } }); } // 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; } } }