1:修改房间设置功能

This commit is contained in:
2025-12-22 18:40:57 +08:00
parent daba3d9872
commit ec2e754806
9 changed files with 46 additions and 15 deletions

View File

@@ -183,7 +183,7 @@ public class LoginPresenter extends BasePresenter<LoginContacter.View> implement
}
public void loginSuccess(List<UserBean> userBean) {
if (userBean == null) {
if (userBean == null || userBean.isEmpty()) {
// ToastUtils.showShort("登录失败请重试");
return;
}

View File

@@ -19,7 +19,7 @@ public class HorizontalListAdapter extends RecyclerView.Adapter<HorizontalListAd
private OnItemClickListener mListener;
public interface OnItemClickListener {
void onItemClick(RoomSettingBean item);
void onItemClick(int itemPos,RoomSettingBean item,HorizontalListAdapter itemAdapter);
}
public HorizontalListAdapter(List<RoomSettingBean> data) {
@@ -38,6 +38,22 @@ public class HorizontalListAdapter extends RecyclerView.Adapter<HorizontalListAd
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull List<Object> payloads) {
super.onBindViewHolder(holder, position, payloads);
if (payloads.isEmpty()) {
for (Object payload : payloads) {
if(((Integer)payload) == 1){
RoomSettingBean item = mData.get(position);
if (item.isStatus()) {
holder.tvName.setText(getName(item.getType(), item.isSelect(), item.getName()));
holder.ivIcon.setImageResource(getIconResId(item.getType(), item.isSelect()));
}
}
}
}
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
RoomSettingBean item = mData.get(position);
@@ -47,7 +63,7 @@ public class HorizontalListAdapter extends RecyclerView.Adapter<HorizontalListAd
}
holder.itemView.setOnClickListener(v -> {
if (mListener != null) {
mListener.onItemClick(item);
mListener.onItemClick(position,item,HorizontalListAdapter.this);
}
});
}

View File

@@ -2,6 +2,7 @@ package com.xscm.modulemain.adapter;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -11,14 +12,23 @@ 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);
void onItemClick(RoomSettingBean item,int position,int itemPos,HorizontalListAdapter horizontalListAdapter);
}
public void setOnItemClickListener(OnItemClickListener listener) {
@@ -35,6 +45,7 @@ public class RoomSettingAdapter extends BaseQuickAdapter<RoomSettingBean, BaseVi
// addItemType(RoomSettingBean.ITEM_TYPE_WITH_ICON, R.layout.item_setting);
// }
@Override
protected void convert(BaseViewHolder holder, RoomSettingBean item) {
@@ -48,9 +59,9 @@ public class RoomSettingAdapter extends BaseQuickAdapter<RoomSettingBean, BaseVi
rvContent.setAdapter(adapter);
adapter.setOnItemClickListener(new HorizontalListAdapter.OnItemClickListener() {
@Override
public void onItemClick(RoomSettingBean item) {
public void onItemClick(int itemPos, RoomSettingBean item,HorizontalListAdapter itemAdapter) {
if (mListener != null)
mListener.onItemClick(item, holder.getAdapterPosition());
mListener.onItemClick(item, holder.getAdapterPosition(),itemPos,itemAdapter);
}
});
}

View File

@@ -25,6 +25,7 @@ import com.xscm.modulemain.activity.room.activity.RoomActivity;
import com.xscm.modulemain.activity.room.contacts.RoomSettingContacts;
import com.xscm.modulemain.activity.room.fragment.RoomBackgroundDialogFragment;
import com.xscm.modulemain.activity.room.presenter.RoomSettingPresenter;
import com.xscm.modulemain.adapter.HorizontalListAdapter;
import com.xscm.modulemain.adapter.RoomSettingAdapter;
import com.xscm.modulemain.databinding.DialogRoomSettingFragmentBinding;
import com.xscm.modulemain.activity.WebViewActivity;
@@ -312,7 +313,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
mBinding.recycleView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
adapter.setOnItemClickListener(new RoomSettingAdapter.OnItemClickListener() {
@Override
public void onItemClick(RoomSettingBean bean, int position) {
public void onItemClick(RoomSettingBean bean, int position, int itemPos, HorizontalListAdapter itemAdapter) {
// 示例:切换选择状态
if (bean.getType() == QXRoomSettingTypeRoomOrderMic) {
MvpPre.changeRoom(roomId, SpUtil.getUserId() + "", position, bean);
@@ -358,7 +359,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
EventBus.getDefault().post(new EffectEvent(true));
bean.setSelect(true);
}
upAdapter();
itemAdapter.notifyItemChanged(itemPos);
// adapter.notifyItemChanged(position);
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomBgMusic) {
EventBus.getDefault().post(new MusicEvent());
@@ -423,7 +424,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
EventBus.getDefault().post(new FloatingScreenEvent(true));
bean.setSelect(true);
}
upAdapter();
itemAdapter.notifyItemChanged(itemPos);
} else if (bean.getType() == RoomSettingBean.QXRoomSettingTypeRoomFloatingRed) {
if (getActivity() instanceof RoomActivity) {
@@ -475,8 +476,7 @@ public class RoomSettingFragment extends BaseMvpDialogFragment<RoomSettingPresen
SpUtil.setRedSound(1);
bean.setSelect(true);
}
upAdapter();
// adapter.notifyItemChanged(position);
itemAdapter.notifyItemChanged(itemPos);
}
}