简单完成ViewPager2 的无限循环


movies =new ArrayList<>();

ViewPager2 viewPager2 = view.findViewById(R.id.viewPager2);

fragmentStateAdapter =new FragmentStateAdapter(getActivity()) {

@NonNull

@Override

    public FragmentcreateFragment(int position) {

//空的page

        if (movies.size() == position) {

return FrmMoviePlayer.newInstance("", "");

        }

Movie movie =movies.get(position);

        return FrmMoviePlayer.newInstance(MyTask.ip + movie.getMoviePath(), movie.getMovieName());

    }

@Override

    public int getItemCount() {

if (movies.size() >0) {

return movies.size() +1;

        }

return 0;

    }

};

viewPager2.setAdapter(fragmentStateAdapter);

viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {

@Override

    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

super.onPageScrolled(position, positionOffset, positionOffsetPixels);

        //如果 position == movies.size() 会显示出空的

        if (position ==movies.size() -1 && positionOffset >0.8) {

viewPager2.setCurrentItem(0, false);

        }

}

});



code

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。