android – 构建版本25.2.0中的片段后台堆栈问题

我在我的项目中使用片段,我在最近的
android构建版本25.2.0中面临一个问题,即清除片段无法正常工作.

让我解释一下我的问题.

最初我添加了DbFragmentView()片段类,而没有在backStack上添加它.

  getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, new DbFragmentView()).commit();

对于所有其他片段,我将它添加到backstack使用下面的methond

   @Override
    public void replaceFragment(Fragment fragment, String Title) {
        String backStateName = fragment.getClass().getName();
        FragmentManager manager = getSupportFragmentManager();
        boolean fragmentPopped = manager.popBackStackImmediate(backStateName, 0);

        if (!fragmentPopped) { //fragment not in back stack, create it.
            FragmentTransaction ft = manager.beginTransaction();
            ft.replace(R.id.frame_container, fragment, fragment.toString());
            ft.addToBackStack(backStateName);
            ft.commit();
            getSupportActionBar().setDisplayShowTitleEnabled(true);
            getSupportActionBar().setTitle(Title);
        }
    }

在某些情况下,我需要清除所有的backstack片段,因为我正在使用下面的代码

if (getFragmentManager().getBackStackEntryCount() > 0) {
                    getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
                }

在将构建版本更改为25.2.0之前,一切都运行良好.

但是在我将构建版本从25.1.0更改为25.2.0后,上面的代码清除了我的所有片段,然后它返回到我的第一个DbFragmentView()片段,但视图没有出现.

调用onCreateView方法,但View看起来透明,所以我可以看到其他应用程序在后台.

然后我再次将构建版本更改为25.1.0,然后像往常一样工作.

谁能告诉我解决这个问题的解决方案

注意:此问题仅出现在最新的版本25.2.0中.

最佳答案 Android最近更新了支持库版本,我在我的代码中更改了此版本.现在问题解决了.

compile 'com.android.support:appcompat-v7:25.3.0'
点赞