其他分享
首页 > 其他分享> > android – OnResume在片段内多次调用

android – OnResume在片段内多次调用

作者:互联网

我在MainFragment中包含了包含RecyclerView的InnerFragment,它被添加到ViewPager中.
创建MainFragment时,多次调用滑动OnResume

>第一次:OnResume在MainFragment中调用一次,在OnceFragment中调用一次
> 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()

之前

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

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

标签:android,android-fragments,android-viewpager,fragmentmanager,onresume
来源: https://codeday.me/bug/20190717/1489038.html