java – 如何在ViewPager中加载片段才能选择

前端之家收集整理的这篇文章主要介绍了java – 如何在ViewPager中加载片段才能选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
im在Viewpager内部使用3个片段,其在大型数据加载器中加载大数据的问题在像HTC这样的设备中运行良好,但是在低端设备需要很多时间.这是因为主要是当我实现pagerAdapter时,我把Fragments放在一个arrayList里面,这样就迫使片段在主体活动时加载.我需要它只是“加载”第一个片段(主)和用户“swype”加载其他片段.它有什么办法来实现吗?这是我的pageAdapater
public class PagerAdapter extends FragmentPagerAdapter  {

    private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
   // private final ArrayList<String> titulos = new ArrayList<String>();

   // private int NUM_PAGES =0;
    public PagerAdapter(FragmentManager manager,int num_pages) {
        super(manager);
     //   this.NUM_PAGES = num_pages;
    }


    public void addFragment(Fragment fragment,String title) {
        mFragments.add(fragment);
            notifyDataSetChanged();
    }

    @Override
    public int getCount() {
        //return NUM_PAGES;
       return mFragments.size();
    }

    @Override
    public Fragment getItem(int position) {
        return mFragments.get(position);

    }

}

解决方法

Sun的上述方法对我来说并不奏效(也许对你来说),但是我以为我也会分享我的方法编辑.太好了很好的方法
private boolean _hasLoadedOnce= false; // your boolean field

@Override
public void setUserVisibleHint(boolean isFragmentVisible_) {
    super.setUserVisibleHint(true);


    if (this.isVisible()) {
        // we check that the fragment is becoming visible
        if (isFragmentVisible_ && !_hasLoadedOnce) {
            new NetCheck().execute();
            _hasLoadedOnce = true;
        }
    }
}

猜你在找的Java相关文章