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