OnResume 在片段中多次调用

OnResume called multiple times inside fragment

我有 InnerFragment 包含 RecyclerView,在 MainFragment 里面,它被添加到 ViewPager。 多次调用 OnResume 时创建 MainFragment 时

在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();

添加片段时,使用 replace() 而不是 add()

之前

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

之后

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