我在我的项目中使用片段,我在最近的android构建版本 JsonObject jo = new JsonObject();
jo.addProperty("name", "path");
JsonArray jsonArray = new JsonArray();
jsonArray.add("my-path");
jsonArray.add("my-path2");
jsonArray.add("my-new-path");
jo.add("value", jsonArray);
System.out.println(jo);
中面临一个问题,即清除片段无法正常工作。
让我解释一下我的问题。
最初我添加了 DbFragmentView()片段类,而没有在backStack上添加它。
25.2.0
对于所有其他片段,我将它添加到backstack使用下面的methond
getSupportFragmentManager().beginTransaction().replace(R.id.frame_container, new DbFragmentView()).commit();
在某些情况下,我需要清除所有背包片段,因为我使用的是代码
@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
之后,上面的代码清除了我的所有片段,然后又返回到我的第一个 DbFragmentView()片段,但是视图没有出现。
25.2.0
方法但View看起来很透明,所以我可以看到其他应用程序在后台。
然后我再次将构建版本更改为onCreateView
,然后它照常工作。
任何人都可以告诉我解决此问题的解决方案
注意:此问题仅发生在最新版本25.1.0
中。
答案 0 :(得分:1)
Android最近更新了支持库版本,我在我的代码中对此进行了更改。现在这个问题已经解决了。
compile 'com.android.support:appcompat-v7:25.3.0'