加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:00:35 所属栏目:Java 来源:网络整理
导读:im在Viewpager内部使用3个片段,其在大型数据加载器中加载大数据的问题在像HTC这样的设备中运行良好,但是在低端设备需要很多时间.这是因为主要是当我实现pagerAdapter时,我把Fragments放在一个arrayList里面,这样就迫使片段在主体活动时加载.我需要它只是“加
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;
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读