Android 返回时保留片段状态

Android 返回时保留片段状态,android,android-layout,android-fragments,android-fragmentactivity,fragmenttransaction,Android,Android Layout,Android Fragments,Android Fragmentactivity,Fragmenttransaction,我的(阅读)应用程序由一个(MainActivity)和几个其他片段组成 我有一个LibraryFragment,列出了所有保存的文章 和一个ReadingFragment(用于阅读文章) 文章可以包含链接,当用户单击链接时,我正在使用片段。replace事务显示ReadingFragment的新实例,现在当我单击后退按钮时,我的当前片段被删除,旧片段被显示,它使用它的参数再次加载内容(但我失去了滚动位置) 我尝试使用.add事务,但由于某种原因,添加的片段覆盖了前一个片段 我的代码: pu

我的(阅读)应用程序由一个(MainActivity)和几个其他片段组成

我有一个
LibraryFragment
,列出了所有保存的文章 和一个
ReadingFragment
(用于阅读文章)

文章可以包含链接,当用户单击链接时,我正在使用片段
。replace
事务显示
ReadingFragment
的新实例,现在当我单击后退按钮时,我的当前片段被删除,旧片段被显示,它使用它的参数再次加载内容(但我失去了滚动位置)

我尝试使用
.add
事务,但由于某种原因,添加的片段覆盖了前一个片段

我的代码:

  public void showFragment(Fragment fragment, Boolean addToBackStack)
  {
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction transaction = fragmentManager.beginTransaction();
        transaction.replace(R.id.content_frame, fragment);
        if (addToBackStack && get_currentFragment() != null) transaction.addToBackStack(null);
        transaction.commit();
  }
我想保留片段的布局和状态,在用户每次单击链接时添加一个新实例,并在用户返回时立即恢复片段。(就像我使用startActivity时所做的那样)

更新


我正在片段的
onActivityCreated(Bundle savedInstanceState)
回调中加载内容。这可能与加载内容的方式有关。你能发布代码吗?@blahdiblah我更新了我的问题:)内容加载可能就是问题所在
onActivityCreated
在初始创建时以及返回片段并在片段中执行某些操作(如设置新的列表适配器)时都会被调用,可以轻松重置视图状态。尝试将加载移动到
onatach
onCreate
,看看这是否能解决问题。@blahdiblah但如果我使用onCreate,ui还没有准备好,因为(onCreateView在onCreate之后执行)FragmentManager FragmentManager=getSupportFragmentManager();FragmentTransaction=fragmentManager.beginTransaction();事务.替换(R.id.content\u frame,fragment);交易。addToBackStack(“名称”);commit();