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

前端之家收集整理的这篇文章主要介绍了java – 如何在ViewPager中加载片段才能选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
im在Viewpager内部使用3个片段,其在大型数据加载器中加载大数据的问题在像HTC这样的设备中运行良好,但是在低端设备需要很多时间.这是因为主要是当我实现pagerAdapter时,我把Fragments放在一个arrayList里面,这样就迫使片段在主体活动时加载.我需要它只是“加载”第一个片段(主)和用户“swype”加载其他片段.它有什么办法来实现吗?这是我的pageAdapater
  1. public class PagerAdapter extends FragmentPagerAdapter {
  2.  
  3. private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
  4. // private final ArrayList<String> titulos = new ArrayList<String>();
  5.  
  6. // private int NUM_PAGES =0;
  7. public PagerAdapter(FragmentManager manager,int num_pages) {
  8. super(manager);
  9. // this.NUM_PAGES = num_pages;
  10. }
  11.  
  12.  
  13. public void addFragment(Fragment fragment,String title) {
  14. mFragments.add(fragment);
  15. notifyDataSetChanged();
  16. }
  17.  
  18. @Override
  19. public int getCount() {
  20. //return NUM_PAGES;
  21. return mFragments.size();
  22. }
  23.  
  24. @Override
  25. public Fragment getItem(int position) {
  26. return mFragments.get(position);
  27.  
  28. }
  29.  
  30. }

解决方法

Sun的上述方法对我来说并不奏效(也许对你来说),但是我以为我也会分享我的方法编辑.太好了很好的方法
  1. private boolean _hasLoadedOnce= false; // your boolean field
  2.  
  3. @Override
  4. public void setUserVisibleHint(boolean isFragmentVisible_) {
  5. super.setUserVisibleHint(true);
  6.  
  7.  
  8. if (this.isVisible()) {
  9. // we check that the fragment is becoming visible
  10. if (isFragmentVisible_ && !_hasLoadedOnce) {
  11. new NetCheck().execute();
  12. _hasLoadedOnce = true;
  13. }
  14. }
  15. }

猜你在找的Java相关文章