Dont allow viewpager load two page in the first time

帅比萌擦擦* 提交于 2019-12-06 12:38:31

best way is to create one interface. and implement this interface to all fragment. e.g.

public interface FragmentInterface {    
    void fragmentBecameVisible();
}
  • in ur viewpager activity put like this e.g

    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){
    
            @Override
            public void onPageSelected(int position){
                    FragmentInterface fragment = (FragmentInterface) mAdapter.instantiateItem(viewPager, position); 
                if (fragment != null) {
                    fragment.fragmentBecameVisible();
                } 
    
                actionBar.setSelectedNavigationItem(position);
    
            }
    
            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2){
            }
    
            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    
  • in your fragment like

    public class TestFragmet extends Fragment implements FragmentInterface {
    
        @Override
        public void fragmentBecameVisible() {
        // your task to execute
        }
    
    }
    

Put OffScreenPageLimit to ZERO. It won't load other fragments.

viewPager.setOffscreenPageLimit(0);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!