1:修改飘屏问题,在BaseActivity中进行监听

2:修改礼物问题
This commit is contained in:
2025-09-06 14:19:23 +08:00
parent 60e2980d89
commit 3b31ba1dea
20 changed files with 616 additions and 153 deletions

View File

@@ -2,26 +2,37 @@ package com.example.moduleroom.dialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.fragment.app.FragmentTransaction;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.alibaba.android.arouter.launcher.ARouter;
import com.example.moduleroom.R;
import com.example.moduleroom.adapter.GiftUserAdapter;
import com.example.moduleroom.databinding.RoomGiftDialogBinding;
import com.example.moduletablayout.listener.OnTabSelectListener;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import com.hjq.toast.ToastUtils;
import com.xscm.moduleutil.adapter.GiftTwoDetailsFragment;
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
@@ -29,6 +40,7 @@ import com.xscm.moduleutil.bean.GiftLabelBean;
import com.xscm.moduleutil.bean.GiftNumBean;
import com.xscm.moduleutil.bean.GiftPackBean;
import com.xscm.moduleutil.bean.RewardUserBean;
import com.xscm.moduleutil.bean.RoomTypeModel;
import com.xscm.moduleutil.bean.RoonGiftModel;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.bean.WalletBean;
@@ -166,16 +178,6 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
} else {
rewardUserBeanList = getSortedRewardUserList(roomInfoResp.getRoom_info().getPit_list(), "9", "10");
// for (int i = 0; i < roomInfoResp.getRoom_info().getPit_list().size(); i++) {
// if (!(SpUtil.getUserId() + "").equals(roomInfoResp.getRoom_info().getPit_list().get(i).getUser_id()) && !roomInfoResp.getRoom_info().getPit_list().get(i).getPit_number().equals("0") && !roomInfoResp.getRoom_info().getPit_list().get(i).getUser_id().equals("0")) {
// RewardUserBean rewardUserBean = new RewardUserBean();
// rewardUserBean.setUser_id(roomInfoResp.getRoom_info().getPit_list().get(i).getUser_id());
// rewardUserBean.setNickname(roomInfoResp.getRoom_info().getPit_list().get(i).getNickname());
// rewardUserBean.setAvatar(roomInfoResp.getRoom_info().getPit_list().get(i).getAvatar());
// rewardUserBean.setPit_number(roomInfoResp.getRoom_info().getPit_list().get(i).getPit_number());
// rewardUserBeanList.add(rewardUserBean);
// }
// }
}
mBinding.rvGiftUser.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.HORIZONTAL, false));
gifyuseradapter = new GiftUserAdapter();
@@ -332,7 +334,11 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
giftNumber = mGiftNumList.get(i).getNumber();
}
}
giveGift(giftNumber);
if (packType==1) {
giveGift(giftNumber);
}else {
giveGift(giftNumber);
}
} else if (view1.getId() == R.id.cz) {
RechargeDialogFragment.show(roomId, null, getActivity().getSupportFragmentManager());
} else if (view1.getId() == R.id.tv_all_wheat) {//全麦
@@ -352,10 +358,13 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
private String giftNumber = "";
private RoomGiftGiveEvent roomGiftGiveEvent;
int packType;
@Subscribe(threadMode = ThreadMode.MAIN)
public void onGiftDoubleClickEvent(GiftDoubleClickEvent event) {
getSelectedGift();
giveGift("1");
packType=1;
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -455,26 +464,26 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
int currentItem = mBinding.viewPager.getCurrentItem();
String userId = gifyuseradapter.getUserIdToString();
String pit = gifyuseradapter.getUserPitToString();
if (currentItem < 1) {
if (giftModel == null) {
ToastUtils.show("请选择礼物");
return;
}
int count = gifyuseradapter.getSelectCount();
if (count <= 0) {
ToastUtils.show("请选择打赏对象");
return;
}
if (TextUtils.isEmpty(num)) {
ToastUtils.show("请选择打赏礼物数量");
return;
}
if (Integer.valueOf(num) <= 0) {
ToastUtils.show("请选择打赏礼物数量");
return;
}
} else {
// if (currentItem < 1) {
// if (giftModel == null) {
// ToastUtils.show("请选择礼物");
// return;
// }
// int count = gifyuseradapter.getSelectCount();
// if (count <= 0) {
// ToastUtils.show("请选择打赏对象");
// return;
// }
//
// if (TextUtils.isEmpty(num)) {
// ToastUtils.show("请选择打赏礼物数量");
// return;
// }
// if (Integer.valueOf(num) <= 0) {
// ToastUtils.show("请选择打赏礼物数量");
// return;
// }
// } else {
if (roonGiftModel == null) {
ToastUtils.show("请选择礼物");
return;
@@ -493,7 +502,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
ToastUtils.show("请选择打赏礼物数量");
return;
}
}
// }
if (roonGiftModel != null && roonGiftModel.getGift_id() != null) {
if (currentItem != 0) {
//礼物打赏
@@ -561,9 +570,11 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
mBinding.rvGiftUser.setVisibility(View.INVISIBLE);
}
}
private List<GiftLabelBean> giftLabelBeanList;
@Override
public void getGiftLabel(List<GiftLabelBean> giftLabelBeans) {
giftLabelBeanList=new ArrayList<>();
giftLabelBeanList.addAll(giftLabelBeans);
GiftLabelBean giftLabelBean = new GiftLabelBean();
giftLabelBean.setId("0");
giftLabelBean.setName("背包");
@@ -572,8 +583,25 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
mBinding.viewPager.setOffscreenPageLimit(0);
mBinding.slidingTabLayout.setViewPager(mBinding.viewPager);
mBinding.slidingTabLayout.setCurrentTab(1);
}
// // 在 initView() 方法中添加
// mBinding.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
// @Override
// public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// }
//
// @Override
// public void onPageSelected(int position) {
// // 页面切换时更新选中状态
// updateGiftSelection(position);
// }
//
// @Override
// public void onPageScrollStateChanged(int state) {
// }
// });
}
@Override
public void setGiftList(List<RoonGiftModel> roonGiftModels, int type) {
@@ -627,16 +655,38 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
public MyFragmentPagerAdapter(FragmentManager fm, List<GiftLabelBean> list, List<Fragment> fragmentList, String roomId) {
super(fm);
this.list = list;
this.fragmentList = fragmentList;
this.roomId = roomId;
this.list = list != null ? list : new ArrayList<>();
// 不直接使用传入的 fragmentList,而是创建一个新的列表
this.fragmentList = new ArrayList<>();
// 初始化 fragmentList 的大小,用 null 填充
for (int i = 0; i < this.list.size(); i++) {
this.fragmentList.add(null);
}
}
@Override
public Fragment getItem(int position) {
// 边界检查
if (position < 0 || list == null || position >= list.size()) {
return null;
}
// 检查该位置是否已经有 Fragment 实例
if (position < fragmentList.size() && fragmentList.get(position) != null) {
return fragmentList.get(position);
}
// 创建新的 Fragment
GiftLabelBean model = list.get(position);
Fragment fragment = GiftTwoDetailsFragment.newInstance(model.getId(), 1, roomId);
fragmentList.add(fragment); // 保存 Fragment 实例
// 确保 fragmentList 有足够的空间
while (fragmentList.size() <= position) {
fragmentList.add(null);
}
// 在指定位置设置 Fragment 实例
fragmentList.set(position, fragment);
return fragment;
}
@@ -648,6 +698,9 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
@Nullable
@Override
public CharSequence getPageTitle(int position) {
if (list == null || position < 0 || position >= list.size()) {
return null;
}
GiftLabelBean model = list.get(position);
return model.getName();
}

View File

@@ -1258,7 +1258,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
pitBean.setNickname(messageEvent.getText().getFromUserInfo().getNickname());
pitBean.setSex(messageEvent.getText().getFromUserInfo().getSex() + "");
pitBean.setCharm(messageEvent.getText().getFromUserInfo().getCharm());
pitBean.setDress(messageEvent.getText().getFromUserInfo().getDress());
return pitBean;
}
@@ -1272,6 +1272,7 @@ public class RoomAuctionFragment extends BaseMvpFragment<RoomAuctionPresenterTow
pitBean.setSex("");
pitBean.setCharm("");
pitBean.setIs_pm(1);
pitBean.setDress("");
return pitBean;
}

View File

@@ -276,7 +276,7 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
mRoomInfoResp = resp;
loadSubFragment();
// 更新子Fragment视图
// updateChildFragmentViews();
updateChildFragmentViews();
}
private <T extends Fragment> T findFragmentByTag(Class<T> fragmentClass) {