加载片段,如果不是空 - Android

时间:2016-04-10 17:39:46

标签: android fragment oncreate onresume

我需要一个问题的帮助,在我正在处理的Android应用中,我一直在Fragment之间导航。我使用代码在Fragment s。

之间导航
newsFeedFragment fragment = new newsFeedFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

使用上面的代码,导航到新闻Feed片段从“onCreate”加载。 HI需要如果之前加载了片段,它应该显示先前加载的页面,应该跳过onCreate但不要onResume。但是,如果在第一次加载Fragment之前未加载Fragment

有人可以帮我解决这个问题吗?

非常感谢

1 个答案:

答案 0 :(得分:3)

您可以通过向片段添加TAG来实现此目的。您在视图中添加片段的位置请执行以下操作:

getSupportFragmentManager().beginTransaction().replace(R.id.something, new SomeFragment(),"SOMETAG").commit();

如果您想检查此片段是否已存在以防止重新加载,请添加以下检查:

SomeFragment sf = (SomeFragment) getSupportFragmentManager().findFragmentByTag("SOMETAG");
if(sf != null)
{
   //the condition when the fragment is already exists
}
else
{
   //the condition when the fragment is not loaded
}