OnResume在片段内多次调用 [英] OnResume called multiple times inside fragment
本文介绍了OnResume在片段内多次调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 MainFragment 中包含了包含RecyclerView的 InnerFragment ,该片段已添加到 ViewPager 中. 当在滑动OnResume的同时创建MainFragment时,会被多次调用
I have InnerFragment containing RecyclerView, inside MainFragment which is added to ViewPager. When MainFragment gets created while swiping OnResume is called multiple times
- 第一次:OnResume在MainFragment中调用一次,在InnerFragment中调用一次
- 2n时间: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();
推荐答案
添加片段时,请使用 replace()代替 add()
when adding fragment, use replace() instead of add()
之前
getChildFragmentManager().beginTransaction().add(R.id.framelayoutID, InnerFragment.newInstance()).commit();
之后
getChildFragmentManager().beginTransaction().replace(R.id.framelayoutID, InnerFragment.newInstance()).commit();
这篇关于OnResume在片段内多次调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文