在Android中的Back Press上重新创建了子片段

时间:2014-05-17 19:24:01

标签: android android-fragments back-stack android-nested-fragment

根据我对app的要求,我在 MainFragment 中添加了Child Fragments,它在获取服务器响应后的条件下动态扩展Fragment,如下面的代码:

DetailsImageFragment imgFragment = DetailsImageFragment.newInstance();
FragmentTransaction ft = getChildFragmentManager()
.beginTransaction();
ft.add(R.id.thisFragmentLayout, imgFragment).commit();

一切正常,但当我用replace()通过另一个片段调用此片段中的其他片段时,如下所示:

FragmentManager fm = getSupportFragmentManager();
SecondFragment categoryFragment = SecondFragment.newInstance();
fm.beginTransaction()
    .replace(R.id.contentFrame, categoryFragment).addToBackStack(null)
    .commit();

它很好地取代了第二个片段。

但是当我按下Back Button时, MainFragment 会重新加载所有Child Fragments。有了这个,我在回访时遇到了性能问题。重新加载以前的 MainFragment 需要花费大量时间 任何人都可以帮我解决这个问题吗?我们将非常感谢您的帮助。

0 个答案:

没有答案