性能优化

viewpager和fragment图片轮播数据重复加载

2016-09-25  本文已影响1030人  sun_goden
喵喵.jpg
    重写destoryItem移除item
   @Override
   public void destroyItem(ViewGroup container, int position, Object object) {
   }

方法二:第二种解决方案:继承PagerAdapter,重写destroyItem()和instantiateItem()方法

   @Override
   public void destroyItem(ViewGroup container, int position, Object object) {
      container.removeView(list.get(position).getView());
   }
 public Object instantiateItem(ViewGroup container, int position) {
          Fragment fragment = fragments.get(position);
          if (!fragment.isAdded()) {
               FragmentTransaction transaction = manager.beginTransaction();
               transaction.add(fragment, fragment.getClass().getSimpleName());
               transaction.commitAllowingStateLoss();
               manager.executePendingTransactions();
          }
          if (fragment.getView().getParent() == null) {
               container.addView(fragment.getView());
          }
          return fragment.getView();
     }

这是完成后的效果图


16-59-23-9-25-12531.gif

哈哈,终于ok了,这个问题让我想到viewpager中的fragment重复加载tab,相信这个方法也是可以解决的,可以尝试一下。

上一篇 下一篇

猜你喜欢

热点阅读