3
我在我的项目中使用了片段,我在最近的Android版本25.2.0
中遇到了一个问题,那就是清理不能正常工作的片段。构建版本中的片段后退堆栈问题25.2.0
让我解释一下我的问题。
最初,我已经添加了DbFragmentView()片段类,但没有在backStack上添加它。
getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, new DbFragmentView()).commit();
对于所有其他片段,我将它添加到堆栈中使用下面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);
}
}
在某些情况下,我需要清除我的所有堆栈中片段,我使用下面的代码
if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
将版本更改为25.2.0
之前,所有工作都完美无缺。
但我改变从25.1.0
我的构建版本25.2.0
上面的代码清除我所有的碎片,然后它可以追溯到我的第一个DbFragmentView()片段,但认为没有出现之后。
onCreateView
调用的方法,但视图看起来很透明,所以我可以看到在后台的其他应用程序。
然后我再次将我的内部版本更改为25.1.0
然后它照常工作。
谁能告诉我该解决方案来解决这个问题
注意:只发生在最新版本的版本25.2.0
这个问题。