Android 在片段内多次调用OnResume
我有InnerFragment包含回收视图,InnerFragment添加到ViewPager。 当在轻扫恢复时创建MainFragment时,将调用多次Android 在片段内多次调用OnResume,android,android-fragments,android-viewpager,onresume,fragmentmanager,Android,Android Fragments,Android Viewpager,Onresume,Fragmentmanager,我有InnerFragment包含回收视图,InnerFragment添加到ViewPager。 当在轻扫恢复时创建MainFragment时,将调用多次 第一次:OnResume在MainFragment中调用一次,在InnerFragment中调用一次 2n时间:OnResume在MainFragment中调用一次,在InnerFragment中调用两次 第三次:OnResume在MainFragment中调用一次,在InnerFragment中调用三次 在ViewPager中添加Mai
- 第一次:OnResume在MainFragment中调用一次,在InnerFragment中调用一次
- 2n时间:OnResume在MainFragment中调用一次,在InnerFragment中调用两次
- 第三次:OnResume在MainFragment中调用一次,在InnerFragment中调用三次
//Assigning Adapter in ViewPager
mViewPager.setAdapter(new MyAdapter(getFragmentManager()));
//getItem inside MyAdaper
public Fragment getItem(int position){
return MainFragment.newInstance(position);
}
getChildFragmentManager().beginTransaction().replace(R.id.framelayoutID, InnerFragment.newInstance()).commit();
在MainFragment中添加InnerFragment
getChildFragmentManager().beginTransaction().add(R.id.framelayoutID, InnerFragment.newInstance()).commit();
添加片段时,请使用replace()而不是add() 之前
getChildFragmentManager().beginTransaction().add(R.id.framelayoutID, InnerFragment.newInstance()).commit();
之后
//Assigning Adapter in ViewPager
mViewPager.setAdapter(new MyAdapter(getFragmentManager()));
//getItem inside MyAdaper
public Fragment getItem(int position){
return MainFragment.newInstance(position);
}
getChildFragmentManager().beginTransaction().replace(R.id.framelayoutID, InnerFragment.newInstance()).commit();
接受我自己的答案,因为它对我有用,也可能对其他人有帮助。