3

меня InnerFragment содержащий RecyclerView, внутри MainFragment, который добавляется к ViewPager. Когда MainFragment будет создаваться во время считывания OnResume вызывается несколько разOnResume вызывается несколько раз внутри фрагмента

  • первый раз: OnResume вызывается один раз в MainFragment и только в InnerFragment
  • 2n раз: OnResume вызывается один раз в MainFragment и дважды в InnerFragment
  • 3-й раз : OnResume вызывается один раз в MainFragment и трижды в InnerFragment

Добавление MainFragment в ViewPager

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

Добавление InnerFragment в MainFragment

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

ответ

8

при добавлении фрагмента, используют заменить() вместо Add()

перед тем

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

после

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

принимая мой собственный ответ, потому что он работал для меня и, может быть полезным для других. – touchchandra

Смежные вопросы