diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java index d0f035b..835b0b2 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/dialog/RechargeDialogFragment.java @@ -47,13 +47,14 @@ public class RechargeDialogFragment extends BaseMvpDialogFragment sActivityRef; + // 存储当前显示的弹框引用 + private List activeDialogs = new ArrayList<>(); + private List activeDialogFragments = new ArrayList<>(); + // 添加弹框到管理列表 + public void addActiveDialog(DialogInterface dialog) { + activeDialogs.add(dialog); + } + + public void addActiveDialogFragment(Fragment dialogFragment) { + activeDialogFragments.add(dialogFragment); + } @Override protected void onNewIntent(Intent intent) { password = intent.getStringExtra("password"); @@ -303,6 +316,7 @@ public class RoomActivity extends BaseMvpActivity { - RechargeDialogFragment.show(roomId, null, getSupportFragmentManager()); -// DialogUtils.showDialogFragment(ARouter.getInstance().build(ARouteConstants.RECHARGE_DIALOG).navigation()); - }, 1400); + RechargeDialogFragment fragment = RechargeDialogFragment.show(roomId, null, getSupportFragmentManager()); + if (fragment != null) { + addActiveDialogFragment(fragment); // 添加到管理列表 + } + }, 1400); } hideGiftGiveProgress(); } @@ -626,7 +642,11 @@ public class RoomActivity extends BaseMvpActivity { MvpPre.acceptPk(pk_id, "2"); // 点击“取消”按钮时什么都不做 - }, true, 10).show(); + }, true, 10); + dialog.show(); + addActiveDialog(dialog); } /** @@ -1641,8 +1663,12 @@ public class RoomActivity extends BaseMvpActivity { // 点击“取消”按钮时什么都不做 - }, false, 0).show(); + }, false, 0); + dialog.show(); + addActiveDialog(dialog); } /** @@ -2005,7 +2060,7 @@ public class RoomActivity extends BaseMvpActivity PublishCommentDialogFragment.show(roomId, getSupportFragmentManager())); + mBinding.ivQuanQiang.setOnClickListener(v -> { + PublishCommentDialogFragment fragment = PublishCommentDialogFragment.show(roomId, getSupportFragmentManager()); + if (fragment != null) { + addActiveDialogFragment(fragment); // 添加到管理列表 + } + }); mBinding.ivQuanC.setOnClickListener(v -> ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS) .withString("from", "我的界面") .withString("roomId", mRoomInfoResp.getRoom_info().getHead_line().getRoom_id()) @@ -2333,6 +2393,7 @@ public class RoomActivity extends BaseMvpActivity implements RoomCabinContacts.View { + private static final String LABEL_ID_MOVIE = "5"; protected String roomId; protected String pitNumber;//当前点击的麦序 protected CommonDialog commonDialog; @@ -99,12 +97,11 @@ public class RoomCabinFragment extends BaseRoomFragment fragments = getChildFragmentManager().getFragments(); if (!fragments.isEmpty()) { + for (Fragment fragment : fragments) { + if (fragment != null) { + // 检查Fragment是否实现了特定的销毁接口 + if (fragment instanceof SingSongFragment) { + ((SingSongFragment) fragment).releaseResources(); + }else if (fragment instanceof RoomKtvFragment){ + ((RoomKtvFragment) fragment).releaseResources(); + }else if (fragment instanceof FriendshipRoomFragment){ + ((FriendshipRoomFragment) fragment).releaseResources(); + }else if (fragment instanceof RoomCabinFragment){ + ((RoomCabinFragment) fragment).releaseResources(); + }else if (fragment instanceof RoomAuctionFragment) { + ((RoomAuctionFragment) fragment).releaseResources(); + } + + } + } + + // 最后移除所有Fragment FragmentTransaction transaction = getChildFragmentManager().beginTransaction(); for (Fragment fragment : fragments) { if (fragment != null) { @@ -188,6 +224,9 @@ public class RoomFragment extends BaseMvpFragment