我在我的项目中使用片段,我在最近的
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'