Android Fragment Back Stage Issue

时间:2017-06-07 13:02:40

标签: android android-fragments fragmentmanager

我使用两种不同的Fragment替换函数。但其次功能片段添加到后台为什么?我该如何解决这个问题?感谢...

首先;

public static void switchScreen(Fragment fragment, String backStage) {
        FragmentTransaction fragments = mFragmentManager
                .beginTransaction()
                .setTransition(FragmentTransaction.TRANSIT_ENTER_MASK)
                .replace(R.id.screens, fragment, backStage)
                .addToBackStack(backStage);
        fragments.commitAllowingStateLoss();
    }

第二

public static void switchScreenNoHistory(Fragment fragment, String backStage) {
    FragmentTransaction fragments = mFragmentManager
            .beginTransaction()
            .setTransition(FragmentTransaction.TRANSIT_ENTER_MASK)
            .replace(R.id.screens, fragment);
    fragments.commit();
}

我的后按按钮功能

private void backStackControl() {
        try {
            FragmentManager fragmentManager = this.getSupportFragmentManager();
            int backFragmentCount = (fragmentManager.getBackStackEntryCount() - 1);
            if (fragmentManager.getBackStackEntryCount() <= 0 || backFragmentCount <= 0) {
                finishAffinity();
            } else {
                fragmentManager.popBackStackImmediate();
            }
        } catch (Exception e) {
            Bugsnag.notify(new Exception(e));
        }
    }

0 个答案:

没有答案