如果不为Null,则加载片段-Android

如果不为Null,则加载片段-Android,android,fragment,oncreate,onresume,Android,Fragment,Oncreate,Onresume,我需要一个问题的帮助,在我正在开发的android应用程序中,我一直在Fragments之间导航。我使用代码在Fragments之间导航 newsFeedFragment fragment = new newsFeedFragment(); android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransact

我需要一个问题的帮助,在我正在开发的android应用程序中,我一直在
Fragment
s之间导航。我使用代码在
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();
使用上面的代码,导航到新闻提要片段将从“
onCreate
”加载。HI需要的是,如果之前加载了片段,它应该显示以前加载的页面,应该跳过
onCreate
,但不跳过
onResume
。但是,如果在第一次加载
片段之前未加载
片段

有谁能帮我实现这一点吗


非常感谢

您可以通过在片段中添加标记来实现这一点。在向视图中添加片段时,请执行以下操作:

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
}

您可以通过向片段添加标记来实现这一点。在向视图中添加片段时,请执行以下操作:

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
}

因为你需要为每个片段设置一些id,然后搜索该片段(如果它存在)加载它,或者创建新的,然后加载它。如果你想要代码,我可以提供一些。你好,dex,如果你能给我看一个示例,那就太好了,我对android有点陌生。因为你需要为每个片段设置一些id,然后搜索该片段(如果它存在)加载它,或者创建新片段,然后加载它。如果你想要代码,我可以提供一些。你好,dex,如果你能给我看一个示例,那就太好了,我对android有点陌生。非常感谢Pooya,在if条件下,如果片段已经存在,我应该如何检索它,如果它不存在,我应该如何检索它?有什么区别吗?抱歉问了太多问题。非常感谢你,Pooya,在if条件下,如果碎片已经存在,我应该如何检索它,如果它不存在,我应该如何检索?有什么区别吗?抱歉问了太多问题。