OnResume在片段内多次调用

时间:2015-08-22 14:10:58

标签: android android-fragments android-viewpager onresume fragmentmanager

我在 MainFragment 中包含 InnerFragment ,其中包含RecyclerView,该内容已添加到 ViewPager 。 创建MainFragment时,多次调用滑动OnResume

  • 第一次:OnResume在MainFragment中调用一次,在OnceFragment中调用一次
  • 2n time:OnResume在MainFragment中调用一次,在InnerFragment中调用两次
  • 第3次:OnResume在MainFragment中调用一次,在InnerFragment中调用三次

在ViewPager中添加MainFragment

//Assigning Adapter in ViewPager
mViewPager.setAdapter(new MyAdapter(getFragmentManager()));
//getItem inside MyAdaper
public Fragment getItem(int position){
    return MainFragment.newInstance(position);
}

在MainFragment中添加InnerFragment

getChildFragmentManager().beginTransaction().add(R.id.framelayoutID, InnerFragment.newInstance()).commit();

1 个答案:

答案 0 :(得分:11)

添加片段时,请使用替换()而不是添加()

<强>前

getChildFragmentManager().beginTransaction().add(R.id.framelayoutID, InnerFragment.newInstance()).commit();

<强>后

getChildFragmentManager().beginTransaction().replace(R.id.framelayoutID, InnerFragment.newInstance()).commit();