From 760aee20870a34e6130a1c12237c5b747e2b00bd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 28 一月 2022 12:58:40 +0800 Subject: [PATCH] 隐私合规,青少年模式,64位兼容 --- library-common/src/com/lcjian/library/util/FragmentSwitchHelper.java | 125 +++++++++++++++++++++-------------------- 1 files changed, 63 insertions(+), 62 deletions(-) diff --git a/library-common/src/com/lcjian/library/util/FragmentSwitchHelper.java b/library-common/src/com/lcjian/library/util/FragmentSwitchHelper.java index dde4990..419981b 100644 --- a/library-common/src/com/lcjian/library/util/FragmentSwitchHelper.java +++ b/library-common/src/com/lcjian/library/util/FragmentSwitchHelper.java @@ -3,78 +3,79 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; + import android.util.Log; public class FragmentSwitchHelper { - private static final String TAG = "FragmentSwitchHelper"; + private static final String TAG = "FragmentSwitchHelper"; - public FragmentManager mFragmentManager; + public FragmentManager mFragmentManager; - private Fragment[] mFragments; + private Fragment[] mFragments; - private Fragment mCurrentFragment; + private Fragment mCurrentFragment; - private int mContainerId; + private int mContainerId; - public Fragment getFragmentByName(String name) { - if (mFragments == null || mFragments.length == 0) - return null; - for (Fragment m : mFragments) - if (name.contains(m.getClass().getName())) { - return m; - } - return null; - } + public Fragment getFragmentByName(String name) { + if (mFragments == null || mFragments.length == 0) + return null; + for (Fragment m : mFragments) + if (name.contains(m.getClass().getName())) { + return m; + } + return null; + } - public static FragmentSwitchHelper create(int containerId, - FragmentManager fragmentManager, Fragment... fragments) { - return new FragmentSwitchHelper(containerId, fragmentManager, fragments); - } + public static FragmentSwitchHelper create(int containerId, + FragmentManager fragmentManager, Fragment... fragments) { + return new FragmentSwitchHelper(containerId, fragmentManager, fragments); + } - private FragmentSwitchHelper(int containerId, - FragmentManager fragmentManager, Fragment... fragments) { - this.mContainerId = containerId; - this.mFragments = fragments; - this.mFragmentManager = fragmentManager; - } + private FragmentSwitchHelper(int containerId, + FragmentManager fragmentManager, Fragment... fragments) { + this.mContainerId = containerId; + this.mFragments = fragments; + this.mFragmentManager = fragmentManager; + } - public void changeFragment(Class<? extends Fragment> replaceFragmentClass) { - if (!mFragmentManager.isDestroyed()) { - Fragment replaceFragment = mFragmentManager - .findFragmentByTag(replaceFragmentClass.getName()); - if (mCurrentFragment == replaceFragment && mCurrentFragment != null) { - Log.d(TAG, "changeFragment noChange "); - return; - } - FragmentTransaction fragmentTransaction = mFragmentManager - .beginTransaction(); - if (mCurrentFragment != null) { - fragmentTransaction.detach(mCurrentFragment); - Log.d(TAG, "changeFragment detach " - + mCurrentFragment.getClass().getName()); - } - if (replaceFragment == null) { - for (Fragment item : mFragments) { - if (item.getClass().getName() - .equals(replaceFragmentClass.getName())) { - replaceFragment = item; - break; - } - } - fragmentTransaction.add(mContainerId, replaceFragment, - replaceFragmentClass.getName()); - mCurrentFragment = replaceFragment; - Log.d(TAG, - "changeFragment add " + replaceFragmentClass.getName()); - } else { - fragmentTransaction.attach(replaceFragment); - mCurrentFragment = replaceFragment; - Log.d(TAG, - "changeFragment attach " - + replaceFragmentClass.getName()); - } - fragmentTransaction.commitAllowingStateLoss(); - } - } + public void changeFragment(Class<? extends Fragment> replaceFragmentClass) { + if (!mFragmentManager.isDestroyed()) { + Fragment replaceFragment = mFragmentManager + .findFragmentByTag(replaceFragmentClass.getName()); + if (mCurrentFragment == replaceFragment && mCurrentFragment != null) { + Log.d(TAG, "changeFragment noChange "); + return; + } + FragmentTransaction fragmentTransaction = mFragmentManager + .beginTransaction(); + if (mCurrentFragment != null) { + fragmentTransaction.detach(mCurrentFragment); + Log.d(TAG, "changeFragment detach " + + mCurrentFragment.getClass().getName()); + } + if (replaceFragment == null) { + for (Fragment item : mFragments) { + if (item.getClass().getName() + .equals(replaceFragmentClass.getName())) { + replaceFragment = item; + break; + } + } + fragmentTransaction.add(mContainerId, replaceFragment, + replaceFragmentClass.getName()); + mCurrentFragment = replaceFragment; + Log.d(TAG, + "changeFragment add " + replaceFragmentClass.getName()); + } else { + fragmentTransaction.attach(replaceFragment); + mCurrentFragment = replaceFragment; + Log.d(TAG, + "changeFragment attach " + + replaceFragmentClass.getName()); + } + fragmentTransaction.commitAllowingStateLoss(); + } + } } -- Gitblit v1.8.0