1:修改家族展示续签按钮位置

2:修改购买爵位前,先请求一次接口
3:修改所有CP更改为心动
4:修改挚友,初始获取数据变更成40条
5:未实名认证不能进行歌手认证
6: 点唱房换麦出现页面展示不对
This commit is contained in:
2025-12-04 17:38:13 +08:00
parent ff2b5aa668
commit 5b22ebd218
6 changed files with 127 additions and 101 deletions

View File

@@ -32,13 +32,10 @@ import android.view.KeyEvent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.View.GONE
import android.view.ViewGroup import android.view.ViewGroup
import android.view.WindowManager import android.view.WindowManager
import android.view.animation.AccelerateInterpolator import android.view.animation.AccelerateInterpolator
import android.view.animation.Animation
import android.view.animation.DecelerateInterpolator import android.view.animation.DecelerateInterpolator
import android.view.animation.TranslateAnimation
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import android.widget.Button import android.widget.Button
import android.widget.EditText import android.widget.EditText
@@ -55,7 +52,6 @@ import com.alibaba.android.arouter.facade.annotation.Autowired
import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter import com.alibaba.android.arouter.launcher.ARouter
import com.blankj.utilcode.util.ActivityUtils import com.blankj.utilcode.util.ActivityUtils
import com.blankj.utilcode.util.FileUtils
import com.blankj.utilcode.util.GsonUtils import com.blankj.utilcode.util.GsonUtils
import com.blankj.utilcode.util.LogUtils import com.blankj.utilcode.util.LogUtils
import com.blankj.utilcode.util.ThreadUtils import com.blankj.utilcode.util.ThreadUtils
@@ -71,9 +67,6 @@ import com.tencent.imsdk.v2.V2TIMManager
import com.tencent.imsdk.v2.V2TIMSDKListener import com.tencent.imsdk.v2.V2TIMSDKListener
import com.tencent.imsdk.v2.V2TIMUserFullInfo import com.tencent.imsdk.v2.V2TIMUserFullInfo
import com.tencent.imsdk.v2.V2TIMValueCallback import com.tencent.imsdk.v2.V2TIMValueCallback
import com.tencent.qgame.animplayer.AnimConfig
import com.tencent.qgame.animplayer.AnimView
import com.tencent.qgame.animplayer.inter.IAnimListener
import com.xscm.modulemain.BaseMvpActivity import com.xscm.modulemain.BaseMvpActivity
import com.xscm.modulemain.R import com.xscm.modulemain.R
import com.xscm.modulemain.activity.main.activity.MainActivity import com.xscm.modulemain.activity.main.activity.MainActivity
@@ -112,7 +105,6 @@ import com.xscm.moduleutil.adapter.LikeUserAdapter
import com.xscm.moduleutil.base.AppStateListener import com.xscm.moduleutil.base.AppStateListener
import com.xscm.moduleutil.base.AppStateManager import com.xscm.moduleutil.base.AppStateManager
import com.xscm.moduleutil.base.CommonAppContext import com.xscm.moduleutil.base.CommonAppContext
import com.xscm.moduleutil.base.CommonAppContext.post
import com.xscm.moduleutil.bean.GiftBean import com.xscm.moduleutil.bean.GiftBean
import com.xscm.moduleutil.bean.HeadlineBean import com.xscm.moduleutil.bean.HeadlineBean
import com.xscm.moduleutil.bean.MqttXlhEnd import com.xscm.moduleutil.bean.MqttXlhEnd
@@ -177,7 +169,6 @@ import com.xscm.moduleutil.utils.SystemUtils
import com.xscm.moduleutil.utils.roomview.GiftDisplayManager import com.xscm.moduleutil.utils.roomview.GiftDisplayManager
import com.xscm.moduleutil.widget.CircularProgressView import com.xscm.moduleutil.widget.CircularProgressView
import com.xscm.moduleutil.widget.CustomMusicFloatingView import com.xscm.moduleutil.widget.CustomMusicFloatingView
import com.xscm.moduleutil.widget.GiftAnimView
import com.xscm.moduleutil.widget.QXGiftPlayerManager import com.xscm.moduleutil.widget.QXGiftPlayerManager
import com.xscm.moduleutil.widget.RoomKtvWheatView import com.xscm.moduleutil.widget.RoomKtvWheatView
import com.xscm.moduleutil.widget.SilentCountDownTimer import com.xscm.moduleutil.widget.SilentCountDownTimer
@@ -189,20 +180,12 @@ import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import okhttp3.Call
import okhttp3.Callback
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
import pub.devrel.easypermissions.AppSettingsDialog import pub.devrel.easypermissions.AppSettingsDialog
import pub.devrel.easypermissions.EasyPermissions import pub.devrel.easypermissions.EasyPermissions
import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks
import java.io.File
import java.io.FileOutputStream
import java.io.IOException
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
import java.nio.charset.StandardCharsets import java.nio.charset.StandardCharsets
import java.util.Arrays import java.util.Arrays
@@ -1500,10 +1483,11 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
qxRedPacketManager!!.addRedPacket(messageEvent.text.redpacketInfo) qxRedPacketManager!!.addRedPacket(messageEvent.text.redpacketInfo)
} else if (msgType == EMMessageInfo.QXRoomMessageTypeQXRoomMessageRedRemove) { } else if (msgType == EMMessageInfo.QXRoomMessageTypeQXRoomMessageRedRemove) {
qxRedPacketManager!!.removeRedPacket(messageEvent.text.redpacket_id) qxRedPacketManager!!.removeRedPacket(messageEvent.text.redpacket_id)
} else if (msgType == EMMessageInfo.QXRoomMessageTypeSongerNum //房间点歌数量变化 } else if (msgType == EMMessageInfo.QXRoomMessageTypeSongerNum|| //房间点歌数量变化
|| msgType == EMMessageInfo.QXRoomMessageTypeSingerRoomCurrentSongDidChanged //点歌房当前歌曲发生变化 msgType == EMMessageInfo.QXRoomMessageTypeSingerRoomNextSongDidChanged) //点歌房下一首歌曲发生变化
|| msgType == EMMessageInfo.QXRoomMessageTypeSingerRoomNextSongDidChanged {
) { //点歌房下一首歌曲发生变化 roomFragment!!.handleRoomMessage(messageEvent)
}else if( msgType == EMMessageInfo.QXRoomMessageTypeSingerRoomCurrentSongDidChanged){ //点歌房当前歌曲发生变化)
if (mRoomInfoResp != null && mRoomInfoResp!!.room_info != null) { if (mRoomInfoResp != null && mRoomInfoResp!!.room_info != null) {
if(messageEvent?.text?.song_info!=null){ if(messageEvent?.text?.song_info!=null){
mRoomInfoResp?.singer_info?.song_info = messageEvent.text.song_info mRoomInfoResp?.singer_info?.song_info = messageEvent.text.song_info
@@ -1513,7 +1497,8 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
roomFragment?.upRoomInfo(mRoomInfoResp) roomFragment?.upRoomInfo(mRoomInfoResp)
roomFragment!!.handleRoomMessage(messageEvent) roomFragment!!.handleRoomMessage(messageEvent)
} }
} else if (msgType == EMMessageInfo.QXRoomMessageTypeCPText) { }
else if (msgType == EMMessageInfo.QXRoomMessageTypeCPText) {
LogUtils.e("CPText", messageEvent.text.rights_icon) LogUtils.e("CPText", messageEvent.text.rights_icon)
if (messageEvent.text.rights_icon.isNotEmpty()) { if (messageEvent.text.rights_icon.isNotEmpty()) {
QXGiftPlayerManager.getInstance(this).displayCPView( QXGiftPlayerManager.getInstance(this).displayCPView(

View File

@@ -28,7 +28,7 @@ public class RoomJukeboxAdapter extends BaseQuickAdapter<RoomPitBean, BaseViewHo
RoomJukeboxWheatView roomJukeboxWheatView= helper.getView(R.id.wheatView); RoomJukeboxWheatView roomJukeboxWheatView= helper.getView(R.id.wheatView);
// 确保pitNumber与数据匹配而不是使用位置 // 确保pitNumber与数据匹配而不是使用位置
roomJukeboxWheatView.setRoomWheatNumber(item.getPit_number()); roomJukeboxWheatView.setRoomWheatNumber(item.getPit_number());
roomJukeboxWheatView.isMentorShip(false); roomJukeboxWheatView.isMentorShip(true);
roomJukeboxWheatView.setImageType(item.isImageType()); roomJukeboxWheatView.setImageType(item.isImageType());
roomJukeboxWheatView.setData(item); roomJukeboxWheatView.setData(item);

View File

@@ -34,6 +34,18 @@ public class SongAdapter extends RecyclerView.Adapter<SongAdapter.ViewHolder> {
notifyDataSetChanged(); notifyDataSetChanged();
} }
public void addSongList(List<SongPlaylist.SongPlaylistBean> songList) {
if (songList != null) {
this.songList.addAll(songList);
notifyDataSetChanged();
}
}
public void clearSongList() {
this.songList.clear();
notifyDataSetChanged();
}
public void setOnSongClickListener(OnSongClickListener listener) { public void setOnSongClickListener(OnSongClickListener listener) {
this.onSongClickListener = listener; this.onSongClickListener = listener;
} }

View File

@@ -39,6 +39,7 @@ import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.widget.RoomFriendshipWheatView; import com.xscm.moduleutil.widget.RoomFriendshipWheatView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
@@ -60,6 +61,8 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
private RoomFragment parentFragment; private RoomFragment parentFragment;
private int songId;//歌曲id当前歌曲的 private int songId;//歌曲id当前歌曲的
List<RoomPitBean> roomPitBeans = new ArrayList<>();
public RoomJukeboxFragment() { public RoomJukeboxFragment() {
// Required empty public constructor // Required empty public constructor
} }
@@ -370,11 +373,11 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
this.roomInfoResp = roomInfoResp; this.roomInfoResp = roomInfoResp;
roomId = roomInfoResp == null ? "" : roomInfoResp.getRoom_info().getRoom_id(); roomId = roomInfoResp == null ? "" : roomInfoResp.getRoom_info().getRoom_id();
setView(); // setView();
} }
public void setView() { public void setView() {
List<RoomPitBean> roomPitBeans = new ArrayList<>();
for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) { for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) {
RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i); RoomPitBean roomPitBean = roomInfoResp.getRoom_info().getPit_list().get(i);
@@ -497,6 +500,11 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
pitBean.setCharm(fromUserInfo.getCharm()); pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress()); pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online()); pitBean.setIs_online(fromUserInfo.getIs_online());
if (roomInfoResp.getSinger_info().getSong_info().getSinger_user_id() == userId) {
pitBean.setImageType(true);
} else {
pitBean.setImageType(false);
}
// 使用set方法更新数据然后通知适配器 // 使用set方法更新数据然后通知适配器
dataList.set(position, pitBean); dataList.set(position, pitBean);
adapter.notifyItemChanged(position); adapter.notifyItemChanged(position);
@@ -532,7 +540,6 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
pitBean.setNickname(""); pitBean.setNickname("");
pitBean.setSex(""); pitBean.setSex("");
pitBean.setCharm(""); pitBean.setCharm("");
if (pitNumber.equals("9")) { if (pitNumber.equals("9")) {
RoomJukeboxWheatView roomDefaultWheatView = mBinding.wvZc; RoomJukeboxWheatView roomDefaultWheatView = mBinding.wvZc;
roomDefaultWheatView.setRoomWheatNumber("9"); roomDefaultWheatView.setRoomWheatNumber("9");
@@ -568,7 +575,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
pitBean.setSex(""); pitBean.setSex("");
pitBean.setCharm(""); pitBean.setCharm("");
pitBean.setDress(""); pitBean.setDress("");
pitBean.setImageType(false);
// 使用set方法更新数据然后通知适配器 // 使用set方法更新数据然后通知适配器
dataList.set(position, pitBean); dataList.set(position, pitBean);
adapter.setNewData(dataList); adapter.setNewData(dataList);
@@ -586,79 +593,44 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
String fromPit = event.getText().getFrom_pit_number(); String fromPit = event.getText().getFrom_pit_number();
String toPit = event.getText().getTo_pit_number(); String toPit = event.getText().getTo_pit_number();
if (fromPit == null || toPit == null) return; if (fromPit == null || toPit == null) return;
List<RoomPitBean> dataList = new ArrayList<>(adapter.getData());
int fromIndex = Integer.parseInt(fromPit) - 1; int fromIndex = Integer.parseInt(fromPit) - 1;
int toIndex = Integer.parseInt(toPit) - 1; int toIndex = Integer.parseInt(toPit) - 1;
if (toIndex > adapter.getData().size() - 1) {
UserInfo fromUserInfo = event.getText().getFromUserInfo();
pitNumber = toPit;
RoomPitBean pitBean = new RoomPitBean();
pitBean.setPit_number(pitNumber);
pitBean.setUser_id(fromUserInfo.getUser_id() + "");
pitBean.setAvatar(fromUserInfo.getAvatar());
pitBean.setNickname(fromUserInfo.getNickname());
pitBean.setSex(fromUserInfo.getSex() + "");
pitBean.setCharm(fromUserInfo.getCharm());
pitBean.setDress(fromUserInfo.getDress());
pitBean.setIs_online(fromUserInfo.getIs_online());
// 确保视图的pitNumber与数据的pit_number匹配
if (pitNumber.equals("9")) {
mBinding.wvZc.setRoomWheatNumber("9");
mBinding.wvZc.setData(pitBean);
roomInfoResp.getRoom_info().getPit_list().set(8, pitBean);
if (fromUserInfo.getUser_id() == SpUtil.getUserId()) { if (toPit.equals("9")) {
myPitNumber = Integer.parseInt(pitNumber); RoomPitBean fromBean = adapter.getData().get(fromIndex);
if (pitNumber.equals("9")) { fromBean.setPit_number(toPit);
configGameOptionBtn(); mBinding.wvZc.setRoomWheatNumber("9");
} mBinding.wvZc.setData(fromBean);
} roomInfoResp.getRoom_info().getPit_list().set(8, fromBean);
if (fromBean.getUser_id().equals(SpUtil.getUserId() + "")) {
myPitNumber = 9;
configGameOptionBtn();
} }
RoomPitBean temp = dataList.get(fromIndex);
RoomPitBean temp = adapter.getData().get(fromIndex);
temp.setUser_id(""); temp.setUser_id("");
temp.setAvatar(""); temp.setAvatar("");
temp.setNickname(""); temp.setNickname("");
temp.setSex(""); temp.setSex("");
temp.setCharm(""); temp.setCharm("");
temp.setDress(""); temp.setDress("");
dataList.set(fromIndex, temp); temp.setImageType(false);
roomInfoResp.getRoom_info().getPit_list().set(fromIndex, temp);
adapter.getData().set(fromIndex, temp);
adapter.notifyItemChanged(fromIndex); adapter.notifyItemChanged(fromIndex);
return; } else {
} RoomPitBean fromBean = adapter.getData().get(fromIndex);
fromBean.setPit_number(toPit);
// 获取当前数据列表 RoomPitBean toBean = adapter.getData().get(toIndex);
toBean.setPit_number(fromPit);
roomInfoResp.getRoom_info().getPit_list().set(fromIndex, toBean);
// 保存原始pit_number roomInfoResp.getRoom_info().getPit_list().set(toIndex, fromBean);
String fromPitNumber = dataList.get(fromIndex).getPit_number(); roomPitBeans.set(fromIndex, toBean);
String toPitNumber = dataList.get(toIndex).getPit_number(); roomPitBeans.set(toIndex, fromBean);
adapter.notifyDataSetChanged();
// 交换两个位置的对象
RoomPitBean temp = dataList.get(fromIndex);
dataList.set(fromIndex, dataList.get(toIndex));
dataList.set(toIndex, temp);
// 确保pit_number正确
dataList.get(fromIndex).setPit_number(fromPitNumber);
dataList.get(toIndex).setPit_number(toPitNumber);
// 更新数据并通知适配器
adapter.getData().clear();
adapter.getData().addAll(dataList);
adapter.notifyItemChanged(fromIndex);
adapter.notifyItemChanged(toIndex);
List<RoomPitBean> pitList = roomInfoResp.getRoom_info().getPit_list();
if (pitList != null && dataList != null) {
for (int i = 0; i < Math.min(pitList.size(), dataList.size()); i++) {
pitList.set(i, dataList.get(i));
}
}
if (parentFragment != null) {
parentFragment.upRoomInfo(roomInfoResp);
}
if (getActivity() instanceof RoomActivity) {
((RoomActivity) getActivity()).upRoomInfoFragment(roomInfoResp);
} }
} }
@@ -806,14 +778,14 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
private void updateCharmForUser(UserInfo userInfo) { private void updateCharmForUser(UserInfo userInfo) {
String userId = String.valueOf(userInfo.getUser_id()); String userId = String.valueOf(userInfo.getUser_id());
String charm = userInfo.getCharm(); String charm = userInfo.getCharm();
if (mBinding.wvZc.getUserId()!=null && mBinding.wvZc.getUserId().equals(userId)) { if (mBinding.wvZc.getUserId() != null && mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.setCharm(charm); mBinding.wvZc.setCharm(charm);
} }
// 更新麦位列表中的魅力值 // 更新麦位列表中的魅力值
for (RoomPitBean pitBean : adapter.getData()) { for (RoomPitBean pitBean : adapter.getData()) {
if (pitBean.getUser_id().equals(userId)) if (pitBean.getUser_id().equals(userId))
pitBean.setCharm(charm); pitBean.setCharm(charm);
adapter.notifyItemChanged(adapter.getData().indexOf(pitBean)); adapter.notifyItemChanged(adapter.getData().indexOf(pitBean));
} }
} }
@@ -821,7 +793,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
public void event1059(RoomMessageEvent message) { public void event1059(RoomMessageEvent message) {
String userId = message.getText().getUser_id(); String userId = message.getText().getUser_id();
if (mBinding.wvZc.getUserId()!=null &&mBinding.wvZc.getUserId().equals(userId)) { if (mBinding.wvZc.getUserId() != null && mBinding.wvZc.getUserId().equals(userId)) {
mBinding.wvZc.setCharm("0"); mBinding.wvZc.setCharm("0");
} }
List<RoomPitBean> dataList = adapter.getData(); List<RoomPitBean> dataList = adapter.getData();
@@ -829,7 +801,7 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
RoomPitBean roomPitBean2 = dataList.get(i); RoomPitBean roomPitBean2 = dataList.get(i);
if (roomPitBean2.getUser_id().equals(userId)) if (roomPitBean2.getUser_id().equals(userId))
roomPitBean2.setCharm("0"); roomPitBean2.setCharm("0");
adapter.notifyItemChanged(adapter.getData().indexOf(roomPitBean2)); adapter.notifyItemChanged(adapter.getData().indexOf(roomPitBean2));
} }
} }

View File

@@ -32,7 +32,9 @@ import com.xscm.moduleutil.http.RetrofitClient;
import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.utils.SpUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
@@ -45,6 +47,8 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
private int selectedWheatPosition = 0; // 默认选中第一个麦位 private int selectedWheatPosition = 0; // 默认选中第一个麦位
private String roomId; private String roomId;
private int page = 0; private int page = 0;
// 使用Map存储每个麦位的页码key为麦位位置value为页码
private Map<Integer, Integer> pageMap = new HashMap<>();
private SongAdapter adapter; private SongAdapter adapter;
@@ -122,15 +126,37 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() { mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
@Override @Override
public void onLoadMore(@NonNull RefreshLayout refreshLayout) { public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
page++; // 获取当前麦位的页码并递增
MvpPre.getSong("", roomId, page + "", "10"); int currentPage = pageMap.getOrDefault(selectedWheatPosition, 1);
currentPage++;
pageMap.put(selectedWheatPosition, currentPage);
page = currentPage;
// 根据当前麦位调用不同的接口
if (selectedWheatPosition == 0) {
// 第一个麦位不传用户id传roomId
MvpPre.getSong("", roomId, page + "", "10");
} else {
// 其他麦位传用户id不传roomId
MvpPre.getSong(selectedWheatPosition + "", "", page + "", "10");
}
} }
@Override @Override
public void onRefresh(@NonNull RefreshLayout refreshLayout) { public void onRefresh(@NonNull RefreshLayout refreshLayout) {
// EventBus.getDefault().post(new BannerRefreshEvent()); // EventBus.getDefault().post(new BannerRefreshEvent());
// 重置当前麦位的页码为1
pageMap.put(selectedWheatPosition, 1);
page = 1; page = 1;
MvpPre.getSong("", roomId, page + "", "10");
// 根据当前麦位调用不同的接口
if (selectedWheatPosition == 0) {
// 第一个麦位不传用户id传roomId
MvpPre.getSong("", roomId, page + "", "10");
} else {
// 其他麦位传用户id不传roomId
MvpPre.getSong(selectedWheatPosition + "", "", page + "", "10");
}
} }
}); });
@@ -163,10 +189,21 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
private void updateSongList(int wheatPosition) { private void updateSongList(int wheatPosition) {
// 根据选中的麦位更新歌曲列表 // 根据选中的麦位更新歌曲列表
// 可以在这里调用接口获取对应麦位的歌曲列表 // 先清空适配器避免显示上一个tab的数据
adapter.clearSongList();
// 获取当前麦位的页码如果没有则初始化为1
int currentPage = pageMap.getOrDefault(wheatPosition, 1);
// 重置当前麦位的页码为1
pageMap.put(wheatPosition, 1);
page = currentPage;
// 调用接口获取对应麦位的歌曲列表
if (wheatPosition==0){ if (wheatPosition==0){
// 第一个麦位不传用户id传roomId
MvpPre.getSong( "", roomId, "1", "10"); MvpPre.getSong( "", roomId, "1", "10");
}else { }else {
// 其他麦位传用户id不传roomId
MvpPre.getSong(wheatPosition + "", "", "1", "10"); MvpPre.getSong(wheatPosition + "", "", "1", "10");
} }
@@ -179,13 +216,34 @@ public class SongRequestFragment extends BaseMvpFragment<RequestSongPresenter, F
@Override @Override
public void getSong(SongPlaylist s) { public void getSong(SongPlaylist s) {
// 获取当前麦位的页码判断是否为刷新操作page=1还是加载更多操作page>1
int currentPage = pageMap.getOrDefault(selectedWheatPosition, 1);
boolean isRefresh = currentPage == 1;
if (s != null && s.getLists() != null && s.getLists().size() > 0) { if (s != null && s.getLists() != null && s.getLists().size() > 0) {
adapter.setSongList(s.getLists()); // 有数据的情况
if (isRefresh) {
// 刷新操作,替换所有数据
adapter.setSongList(s.getLists());
} else {
// 加载更多操作,添加新数据
adapter.addSongList(s.getLists());
}
mBinding.smartRefreshLayout.finishRefresh(); mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore(); mBinding.smartRefreshLayout.finishLoadMore();
} else { } else {
// 没有数据的情况
// 如果是第一页且没有数据确保适配器为空已经在updateSongList中清空
// 这里不需要再次清空因为已经在切换tab时清空了
mBinding.smartRefreshLayout.finishRefresh(); mBinding.smartRefreshLayout.finishRefresh();
mBinding.smartRefreshLayout.finishLoadMore(); // 如果没有更多数据,设置没有更多数据的状态
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData();
// 如果是第一页且没有数据需要重置页码为1以便下次刷新能正常工作
if (isRefresh) {
pageMap.put(selectedWheatPosition, 1);
page = 1;
}
} }
} }

View File

@@ -76,7 +76,6 @@ public class RoomJukeboxWheatView extends BaseWheatView {
handleOffState(bean); handleOffState(bean);
} }
// iv_tag_type.setVisibility(bean.isImageType()?VISIBLE:GONE);
iv_tag_type.setImageResource(com.xscm.moduleutil.R.mipmap.mu_yc); iv_tag_type.setImageResource(com.xscm.moduleutil.R.mipmap.mu_yc);
} }
@@ -106,6 +105,7 @@ public class RoomJukeboxWheatView extends BaseWheatView {
mIvFrame.setSource(bean.getDress(), 3); mIvFrame.setSource(bean.getDress(), 3);
} }
// if(pitNumber.equals("9")){ // if(pitNumber.equals("9")){
// iv_tag_type.setVisibility(GONE); // iv_tag_type.setVisibility(GONE);
// mTvName.setBackgroundColor(com.xscm.moduleutil.R.color.transparent); // mTvName.setBackgroundColor(com.xscm.moduleutil.R.color.transparent);
@@ -132,7 +132,6 @@ public class RoomJukeboxWheatView extends BaseWheatView {
mRiv.setVisibility(VISIBLE); mRiv.setVisibility(VISIBLE);
mRiv.setImageResource(R.mipmap.jukebox_room_mask); mRiv.setImageResource(R.mipmap.jukebox_room_mask);
mIvShutup.setVisibility( GONE); mIvShutup.setVisibility( GONE);
iv_tag_type.setVisibility(GONE);
// ImageUtils.loadRes(com.xscm.moduleutil.R.mipmap.room_microphone_off, mIvShutup); // ImageUtils.loadRes(com.xscm.moduleutil.R.mipmap.room_microphone_off, mIvShutup);
mIvFrame.stopAll(); mIvFrame.stopAll();
mIvFrame.setVisibility(GONE); mIvFrame.setVisibility(GONE);