Fragment 切换期间 onResume() 的替代方案

2024-01-03

onResume()当我们在片段之间切换多次时,不会调用该方法。那么,有没有更好的方法来处理恢复操作呢?


代码如下:

Step: 1

创建接口:

public interface YourFragmentInterface {
    void fragmentBecameVisible();
}

Step: 2

在 OnPageChangeListener 集合中附加监听器:

mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(final int position, final float v, final int i2) {
        }

        @Override
        public void onPageSelected(final int position) {
            YourFragmentInterface fragment = (YourFragmentInterface) mPagerAdapter.instantiateItem(mViewPager, position);
            if (fragment != null) {
                fragment.fragmentBecameVisible();
            } 
        }

        @Override
        public void onPageScrollStateChanged(final int position) {
        }
    });

Step: 3

在片段中实现接口:

public class yourActivity extends SherlockFragment implements YourFragmentInterface{
    @Override
    public void fragmentBecameVisible() {
          System.out.println("TestFragment");
    }
}

在所有片段活动中实现此侦听器fragmentBecameVisible()Fragment切换时调用该方法。

Thanks.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fragment 切换期间 onResume() 的替代方案 的相关文章

随机推荐