直播系统app源码,垂直,水平无限循环滑动

直播系统app源码,垂直,水平无限循环滑动实现的相关代码

首先, 无限循环和网上的大多数的做法一样,将 PagerAdapter 里的 getCount() 返回最大的数字。Integer.MAX_VALUE

 


 @Override
    public int getCount() {
        return Integer.MAX_VALUE; // fragments.size();
    }
 

​在 destroyItem()里不要返回父类的 destroyItem , 如下代码 :

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
android.util.Log.d(TAG, " destroyItem " + position);
int pos = position % fragments.size();
container.removeView((View) object);
// super.destroyItem(container, position, object);
}

在 instantiateItem() 里, 为了防止滑动Fragment时反复的销毁创建 , 先判断是否添加 , 已经添加的直接返回

 

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
    int pos = position % fragments.size();
        Fragment fragment = fragments.get(pos);
        
        android.util.Log.d(TAG, " instantiateItem " + pos);
        
        if(!fragment.isAdded()) {
            FragmentTransaction ft = fragmentManager.beginTransaction();
            ft.add(fragment, fragment.getClass().getSimpleName());
            ft.commit();
            fragmentManager.executePendingTransactions();
        }
 
        if(fragment.getView().getParent() == null) container.addView(fragment.getView()); // 为viewpager增加布局
        return fragment.getView();
    }

 

以上就是 直播系统app源码,垂直,水平无限循环滑动实现的相关代码,更多内容欢迎关注之后的文章

 

posted @ 2021-10-15 14:11  云豹科技-苏凌霄  阅读(337)  评论(0编辑  收藏  举报