用户列表首次显示优化。
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
package com.xscm.moduleutil.bean.room;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class RoomOnline {
|
||||
public class RoomOnline implements Serializable {
|
||||
|
||||
private List<RoomOnlineBean> on_pit;//麦上用户
|
||||
private List<RoomOnlineBean> off_pit;//麦下用户
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.xscm.moduleutil.bean.room;
|
||||
|
||||
import com.chad.library.adapter.base.entity.MultiItemEntity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Data;
|
||||
@@ -12,7 +13,7 @@ import lombok.Data;
|
||||
* @description: 房间在线列表
|
||||
*/
|
||||
@Data
|
||||
public class RoomOnlineBean implements MultiItemEntity {
|
||||
public class RoomOnlineBean implements MultiItemEntity, Serializable {
|
||||
private int itemViewType;
|
||||
private String typeNames;
|
||||
private int user_id;
|
||||
|
||||
@@ -47,6 +47,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.alibaba.android.arouter.facade.annotation.Autowired
|
||||
import com.alibaba.android.arouter.facade.annotation.Route
|
||||
@@ -515,15 +516,10 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
mBinding?.roomTop?.userRecyclerView?.adapter = likeUserAdapter
|
||||
likeUserAdapter!!.onItemClickListener =
|
||||
BaseQuickAdapter.OnItemClickListener { adapter, view, position ->
|
||||
val fragment = RoomOnlineDialogFragment.show(
|
||||
showUserListDialog(
|
||||
roomId, "", mRoomUserBean, mRoomInfoResp,
|
||||
supportFragmentManager
|
||||
)
|
||||
|
||||
LogUtils.e("fragment_onItemClickListener: ${(fragment != null)}")
|
||||
if (fragment != null) {
|
||||
addActiveDialogFragment(fragment) // 添加到管理列表
|
||||
}
|
||||
}
|
||||
|
||||
mBinding!!.ivChat.setOnClickListener { view: View ->
|
||||
@@ -792,10 +788,7 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
// 调用退出房间方法
|
||||
MessageListenerSingleton.quitGroup(roomId);
|
||||
quit();
|
||||
if (mRoomInfoResp?.room_info?.label_id != null && mRoomInfoResp?.room_info?.label_id.equals(
|
||||
"5"
|
||||
)
|
||||
) {
|
||||
if (mRoomInfoResp?.room_info?.label_id != null && mRoomInfoResp?.room_info?.label_id.equals("5")) {
|
||||
jiaR()
|
||||
return
|
||||
} else {
|
||||
@@ -1019,13 +1012,12 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
Observable.timer(1000, TimeUnit.MILLISECONDS).observeOn(
|
||||
AndroidSchedulers.mainThread()
|
||||
).subscribe { aLong: Long? ->
|
||||
if (ActivityUtils.getTopActivity() is RoomActivity) startActivity(
|
||||
Intent(
|
||||
ActivityUtils.getTopActivity(),
|
||||
TransparentActivity::class.java
|
||||
)
|
||||
if (ActivityUtils.getTopActivity() is RoomActivity) {
|
||||
startActivity(
|
||||
Intent(ActivityUtils.getTopActivity(), TransparentActivity::class.java)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1938,11 +1930,13 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
||||
roomFragment?.handleRoomMessage(messageEvent)
|
||||
}
|
||||
|
||||
RoomType.SIGN_CONTRACT -> {
|
||||
mRoomInfoResp?.room_info?.pit_list!![pitNumber.toInt() - 1] = RoomPitBean(pitNumber)
|
||||
roomFragment!!.upRoomInfoData(mRoomInfoResp)
|
||||
roomFragment?.handleRoomMessage(messageEvent)
|
||||
}
|
||||
|
||||
else -> {
|
||||
roomFragment!!.updateSeatViewExchangedWithPitArray(mRoomInfoResp)
|
||||
}
|
||||
@@ -2635,13 +2629,10 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
} else if (id == R.id.btn_close_live) { //退出房间
|
||||
showExitRoomDialog()
|
||||
} else if (id == R.id.tv_num) {
|
||||
val fragment = RoomOnlineDialogFragment.show(
|
||||
showUserListDialog(
|
||||
roomId, "", mRoomUserBean, mRoomInfoResp,
|
||||
supportFragmentManager
|
||||
)
|
||||
if (fragment != null) {
|
||||
addActiveDialogFragment(fragment) // 添加到管理列表
|
||||
}
|
||||
} else if (id == R.id.rl) {
|
||||
MvpPre!!.clearUserCharm(roomId, "")
|
||||
} else if (id == R.id.ll_input) {
|
||||
@@ -3903,10 +3894,11 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
var mOnlineBean: RoomOnline? = null
|
||||
// TODO: 根据返回的在线列表获取对应的值,查看是否有在线用户
|
||||
override fun getRoomOnline(onlineBean: RoomOnline?) {
|
||||
if (onlineBean != null) {
|
||||
mOnlineBean = onlineBean
|
||||
val onlineBeans: MutableList<RoomOnlineBean> = ArrayList()
|
||||
if (onlineBean.on_pit.size > 0) {
|
||||
onlineBeans.addAll(onlineBean.on_pit)
|
||||
@@ -3923,6 +3915,25 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fun showUserListDialog(
|
||||
roomId: String?,
|
||||
pitNumber: String?,
|
||||
mRoomUserBean: RoomUserBean?,
|
||||
mRoomInfoResp: RoomInfoResp?,
|
||||
supportFragmentManager: FragmentManager
|
||||
) {
|
||||
val fragment = RoomOnlineDialogFragment.show(
|
||||
roomId, pitNumber,mOnlineBean, mRoomUserBean, mRoomInfoResp,
|
||||
supportFragmentManager
|
||||
)
|
||||
|
||||
LogUtils.e("fragment_onItemClickListener: ${(fragment != null)}")
|
||||
if (fragment != null) {
|
||||
addActiveDialogFragment(fragment) // 添加到管理列表
|
||||
}
|
||||
}
|
||||
|
||||
override fun applyPit() {
|
||||
|
||||
}
|
||||
|
||||
@@ -82,6 +82,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
public void applyPit() {
|
||||
|
||||
}
|
||||
|
||||
public FriendshipRoomFragment() {
|
||||
}
|
||||
|
||||
@@ -93,6 +94,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
FriendshipRoomFragment fragment = new FriendshipRoomFragment(roomInfoResp);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endFriend(FriendUserBean friendUserBean) {
|
||||
if (friendUserBean != null) {
|
||||
@@ -162,9 +164,6 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected FriendshipRoomPresenter bindPresenter() {
|
||||
return new FriendshipRoomPresenter(this, getActivity());
|
||||
@@ -364,7 +363,7 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
if (((RoomActivity) getActivity()).isFastDoubleClick(roomInfoResp.getUser_info().getUser_id() + "", pitBean.getPit_number())) {
|
||||
return;
|
||||
}
|
||||
RoomOnlineDialogFragment.show(roomId, "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
((RoomActivity) getActivity()).showUserListDialog(roomId, "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
} else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
}
|
||||
@@ -713,7 +712,9 @@ public class FriendshipRoomFragment extends BaseRoomFragment<FriendshipRoomPrese
|
||||
|
||||
tvHugMic.setOnClickListener(v -> {
|
||||
// 处理抱麦逻辑
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
popupWindow.dismiss();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -406,7 +406,9 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
|
||||
if (wheatView2.getUserId() != null) {
|
||||
if (wheatView2.getUserId().equals("")) {
|
||||
if ((wheatView.getUserId() != null && wheatView.getUserId().equals(SpUtil.getUserId() + "") || getHostUser() < 4)) {
|
||||
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), 888 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity)getActivity()).showUserListDialog(roomInfoResp.getRoom_info().getRoom_id(), 888 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (roomInfoResp.getRoom_auction() != null && roomInfoResp.getRoom_auction().getAuction_user() != null) {
|
||||
|
||||
@@ -141,10 +141,12 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
roomPitBean = pitBean;
|
||||
showPopupMenu(roomJukeboxWheatView); // v 是点击的按钮视图
|
||||
} else if ((finalI + 1) == 10) {
|
||||
if (ActivityUtils.getTopActivity() instanceof RoomActivity) {
|
||||
if (getActivity() instanceof RoomActivity) {
|
||||
if (((RoomActivity) ActivityUtils.getTopActivity()).getHostUser() < 4) {
|
||||
if (!isFastDoubleClick("online_dialog", finalI + 1 + "")) {
|
||||
RoomOnlineDialogFragment.show(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity)getActivity()).showUserListDialog(roomId, finalI + 1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
@@ -336,7 +338,9 @@ public class RoomJukeboxFragment extends BaseMvpFragment<JukeboxPresenter, Fragm
|
||||
|
||||
tvHugMic.setOnClickListener(v -> {
|
||||
// 处理抱麦逻辑
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
popupWindow.dismiss();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -432,8 +432,8 @@ public class RoomKtvFragment extends BaseMvpFragment<RoomPresenter, FragmentRoom
|
||||
RoomUserInfoFragment.show(roomInfoResp.getRoom_info().getRoom_id(), muJb.getUserId(), muJb.pitNumber, getHostUser(), false, 2, isNumberWhether(), getChildFragmentManager());
|
||||
} else {
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
if (((RoomActivity) getActivity()).getHostUser() < 4) {
|
||||
RoomOnlineDialogFragment.show(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && ((RoomActivity) getActivity()).getHostUser() < 4) {
|
||||
((RoomActivity)getActivity()).showUserListDialog(roomInfoResp.getRoom_info().getRoom_id(), "10", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
} else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import android.widget.TextView
|
||||
import com.blankj.utilcode.util.ActivityUtils
|
||||
import com.blankj.utilcode.util.LogUtils
|
||||
import com.xscm.modulemain.R
|
||||
import com.xscm.modulemain.activity.room.activity.RoomActivity
|
||||
import com.xscm.modulemain.activity.room.contacts.MentorShipContacts
|
||||
import com.xscm.modulemain.activity.room.presenter.MentorShipPresenter
|
||||
import com.xscm.modulemain.databinding.FragmentMentorShipBinding
|
||||
@@ -168,7 +169,7 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||
mRoomInfoResp?.room_info?.pit_list!![indexList[idx].toInt() - 1]
|
||||
|
||||
// 处理抱麦逻辑
|
||||
RoomOnlineDialogFragment.show(
|
||||
(activity as RoomActivity).showUserListDialog(
|
||||
mRoomId,
|
||||
mPitBean?.pit_number,
|
||||
mRoomInfoResp?.user_info,
|
||||
@@ -300,7 +301,10 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||
setIvForMai(0)
|
||||
}
|
||||
|
||||
if (viewList[0].pitBean.user_id.equals(mUserInfo?.user_id.toString()) && !mSignPitBean?.user_id.equals("0")) {
|
||||
if (viewList[0].pitBean.user_id.equals(mUserInfo?.user_id.toString()) && !mSignPitBean?.user_id.equals(
|
||||
"0"
|
||||
)
|
||||
) {
|
||||
mBinding.tvTimeLeft.visibility = View.VISIBLE
|
||||
} else {
|
||||
mBinding.tvTimeLeft.visibility = View.GONE
|
||||
@@ -321,6 +325,7 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||
"\n mBinding.tvTimeLeft: ${mBinding.tvTimeLeft.visibility == View.VISIBLE}"
|
||||
)
|
||||
}
|
||||
|
||||
// 核心工具方法:检查 Fragment 是否和 Activity 有效绑定
|
||||
private fun checkFragmentAttached(): Boolean {
|
||||
// 依次检查:Fragment 是否附加到 Activity、是否已销毁、是否处于正常状态
|
||||
@@ -645,8 +650,11 @@ class RoomMentorShipFragment(var mRoomInfoResp: RoomInfoResp?) :
|
||||
|
||||
tvHugMic.setOnClickListener { v: View? ->
|
||||
// 处理抱麦逻辑
|
||||
RoomOnlineDialogFragment.show(
|
||||
mRoomId, mPitBean?.pit_number, mRoomInfoResp?.user_info, mRoomInfoResp,
|
||||
(activity as RoomActivity).showUserListDialog(
|
||||
mRoomId,
|
||||
mPitBean?.pit_number,
|
||||
mRoomInfoResp?.user_info,
|
||||
mRoomInfoResp,
|
||||
childFragmentManager
|
||||
)
|
||||
popupWindow!!.dismiss()
|
||||
|
||||
@@ -184,9 +184,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
showPopupMenu(view); // v 是点击的按钮视图
|
||||
} else if (pitNumber1 == 10) {
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity){
|
||||
if (((RoomActivity) getActivity()).getHostUser() < 4){
|
||||
if (getActivity() != null && ((RoomActivity) getActivity()).getHostUser() < 4){
|
||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
((RoomActivity)getActivity()).showUserListDialog(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
}else {
|
||||
com.hjq.toast.ToastUtils.show("请等待主持抱麦");
|
||||
@@ -338,7 +338,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
|
||||
tvHugMic.setOnClickListener(v -> {
|
||||
// 处理抱麦逻辑
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if(getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber, roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
popupWindow.dismiss();
|
||||
});
|
||||
}
|
||||
@@ -713,7 +715,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
} else if (pitNumber1 == 10) {
|
||||
// 添加防重复点击检查
|
||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
MvpPre.applyPit(roomId, pitNumber1 + "");
|
||||
@@ -782,7 +786,9 @@ public class SingSongFragment extends BaseRoomFragment<SingSongPresenter, Fragme
|
||||
} else if (pitNumber1 == 10) {
|
||||
// 添加防重复点击检查
|
||||
if (!isFastDoubleClick("online_dialog", pitNumber1 + "")) {
|
||||
RoomOnlineDialogFragment.show(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
if (getActivity() != null && getActivity() instanceof RoomActivity) {
|
||||
((RoomActivity) getActivity()).showUserListDialog(roomId, pitNumber1 + "", roomInfoResp.getUser_info(), roomInfoResp, getChildFragmentManager());
|
||||
}
|
||||
}
|
||||
} else {
|
||||
MvpPre.applyPit(roomId, pitNumber1 + "");
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.xscm.moduleutil.bean.room.RoomUserBean;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@@ -47,18 +48,23 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
private RoomUserBean hostUser;
|
||||
protected RoomInfoResp roomInfoResp;
|
||||
|
||||
private List<RoomOnlineBean> onlineBeanList = new ArrayList<>();
|
||||
|
||||
private RoomOnline mOnlineBean;
|
||||
|
||||
@Override
|
||||
protected RoomPresenter bindPresenter() {
|
||||
return new RoomPresenter(this, getActivity());
|
||||
}
|
||||
|
||||
public static RoomOnlineDialogFragment show(String id, String pit_number, RoomUserBean hostUser, RoomInfoResp roomInfoResp, FragmentManager fragmentManager) {
|
||||
public static RoomOnlineDialogFragment show(String id, String pit_number, RoomOnline mOnlineBean, RoomUserBean hostUser, RoomInfoResp roomInfoResp, FragmentManager fragmentManager) {
|
||||
RoomOnlineDialogFragment dialogFragment = new RoomOnlineDialogFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putString("roomId", id); // 可选:传递参数
|
||||
args.putString("pit_number", pit_number);
|
||||
args.putSerializable("hostUser", hostUser); // 可选:传递参数
|
||||
args.putSerializable("roomInfoResp", roomInfoResp);
|
||||
args.putSerializable("mOnlineBean", mOnlineBean);
|
||||
dialogFragment.setArguments(args);
|
||||
dialogFragment.show(fragmentManager, "RoomOnlineDialogFragment");
|
||||
return dialogFragment;
|
||||
@@ -66,7 +72,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
|
||||
@Override
|
||||
protected void initData() {
|
||||
MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
|
||||
// MvpPre.getRoomOnline(getArguments().getString("roomId"), "1", "10");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -88,6 +94,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
super.onAttach(context);
|
||||
roomId = getArguments().getString("roomId");
|
||||
pit_number = getArguments().getString("pit_number");
|
||||
mOnlineBean = (RoomOnline) getArguments().getSerializable("mOnlineBean");
|
||||
hostUser = (RoomUserBean) getArguments().getSerializable("hostUser");
|
||||
roomInfoResp = (RoomInfoResp) getArguments().getSerializable("roomInfoResp");
|
||||
}
|
||||
@@ -118,9 +125,11 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
List<RoomOnlineBean> roomOnlineBeanList = processOnlineData(mOnlineBean);
|
||||
onlineBeanList.addAll(roomOnlineBeanList);
|
||||
updateUserCount(mOnlineBean.getCount());
|
||||
mBinding.rvComment.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
roomOnlineAdapter = new RoomOnlineAdapter(new ArrayList<RoomOnlineBean>());
|
||||
roomOnlineAdapter = new RoomOnlineAdapter(onlineBeanList);
|
||||
mBinding.rvComment.setAdapter(roomOnlineAdapter);
|
||||
|
||||
roomOnlineAdapter.setListener(new RoomOnlineAdapter.OnJoinButtonClickListener() {
|
||||
@@ -216,41 +225,15 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
return;
|
||||
}
|
||||
|
||||
getActivity().runOnUiThread(() -> {
|
||||
finishRefreshOrLoad();
|
||||
|
||||
if (onlineBean == null) {
|
||||
handleEmptyData();
|
||||
return;
|
||||
}
|
||||
|
||||
List<RoomOnlineBean> roomOnlineBeanList = processOnlineData(onlineBean);
|
||||
updateAdapterData(roomOnlineBeanList);
|
||||
updateUserCount(onlineBean.getCount());
|
||||
});
|
||||
}
|
||||
|
||||
private boolean isValidContext() {
|
||||
return getActivity() != null && mBinding != null;
|
||||
}
|
||||
|
||||
private void finishRefreshOrLoad() {
|
||||
if (mBinding.srl == null) return;
|
||||
|
||||
if (page <= 1) {
|
||||
mBinding.srl.finishRefresh();
|
||||
} else {
|
||||
mBinding.srl.finishLoadMore();
|
||||
}
|
||||
}
|
||||
|
||||
private void handleEmptyData() {
|
||||
if (page <= 1) {
|
||||
roomOnlineAdapter.setNewData(new ArrayList<>());
|
||||
} else if (mBinding.srl != null) {
|
||||
mBinding.srl.finishLoadMoreWithNoMoreData();
|
||||
}
|
||||
}
|
||||
|
||||
private List<RoomOnlineBean> processOnlineData(RoomOnline onlineBean) {
|
||||
List<RoomOnlineBean> result = new ArrayList<>();
|
||||
@@ -296,13 +279,11 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
}
|
||||
|
||||
private void updateAdapterData(List<RoomOnlineBean> newData) {
|
||||
if (page <= 1) {
|
||||
roomOnlineAdapter.setNewData(newData);
|
||||
} else if (!newData.isEmpty()) {
|
||||
roomOnlineAdapter.addData(newData);
|
||||
} else if (mBinding.srl != null) {
|
||||
mBinding.srl.finishLoadMoreWithNoMoreData();
|
||||
if (page == 1) {
|
||||
onlineBeanList.clear();
|
||||
}
|
||||
onlineBeanList.addAll(newData);
|
||||
roomOnlineAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
private void updateUserCount(int count) {
|
||||
@@ -315,11 +296,7 @@ public class RoomOnlineDialogFragment extends BaseMvpDialogFragment<RoomPresente
|
||||
}
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void getRoomOnline(List<RoomOnlineBean> onlineBean) {
|
||||
// roomOnlineAdapter.setNewData(onlineBean);
|
||||
// mBinding.tvNum.setText("在线用户("+onlineBean.size()+")人");
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
android:id="@+id/tv_performer_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_3"
|
||||
android:layout_marginTop="-15dp"
|
||||
android:text="请点歌"
|
||||
android:textColor="@color/colorWhite45"
|
||||
android:textSize="@dimen/sp_12"
|
||||
@@ -210,7 +210,7 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_song"
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_36"
|
||||
android:layout_marginTop="-15dp"
|
||||
@@ -223,7 +223,9 @@
|
||||
app:layout_constraintEnd_toEndOf="@+id/im_performer"
|
||||
app:layout_constraintStart_toStartOf="@+id/im_performer"
|
||||
app:layout_constraintTop_toBottomOf="@+id/im_performer"
|
||||
tools:text="演唱歌曲:我的好兄弟" />
|
||||
android:lines="1"
|
||||
android:ellipsize="end"
|
||||
tools:text="演唱歌曲:我的好兄弟我的好兄弟我的好兄弟我的好兄弟我的好兄弟我的好兄弟" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_jukebox"
|
||||
|
||||
Reference in New Issue
Block a user