我的(阅读)应用程序由一个(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)
回调中加载内容