实现无限循环ViewPager
来源:互联网 发布:网络会议软件 编辑:程序博客网 时间:2024/05/17 08:17
(1)设置ViewPager的Adapter中的item数量为无限大。
(2)在Adapter的instantiateItem方法中用当前的position 除以 图片数组长度取余数是关键,数据显示在数据显示是在0至size-1之间
(3)设置viewpager在无限大item中间
mViewHolder.mViewPager.setAdapter(new HotSalePagerAdapter(mContext, recommandList));mViewPager.setCurrentItem(recommandList.size() * 100);
public class HotSalePagerAdapter extends PagerAdapter { private Context mContext; private ArrayList<RecommandBodyValue> mData; private LayoutInflater mInflate; private ImageLoaderManager mImageLoader; public HotSalePagerAdapter(Context context, ArrayList<RecommandBodyValue> list) { mContext = context; mData = list; mInflate = LayoutInflater.from(mContext); mImageLoader = ImageLoaderManager.getInstance(mContext); } //设置viewpager中itemd的数量为无限大 @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } /** * 载入图片进去,用当前的position 除以 图片数组长度取余数是关键 */ @Override public Object instantiateItem(ViewGroup container, int position) { //数据显示是在0至size-1之间 final RecommandBodyValue value = mData.get(position % mData.size()); View rootView = mInflate.inflate(R.layout.item_hot_product_pager_layout, null); TextView titleView = (TextView) rootView.findViewById(R.id.title_view); TextView infoView = (TextView) rootView.findViewById(R.id.info_view); TextView gonggaoView = (TextView) rootView.findViewById(R.id.gonggao_view); TextView saleView = (TextView) rootView.findViewById(R.id.sale_num_view); ImageView[] imageViews = new ImageView[3]; imageViews[0] = (ImageView) rootView.findViewById(R.id.image_one); imageViews[1] = (ImageView) rootView.findViewById(R.id.image_two); imageViews[2] = (ImageView) rootView.findViewById(R.id.image_three); rootView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mContext, CourseDetailActivity.class); intent.putExtra(CourseDetailActivity.COURSE_ID, value.adid); mContext.startActivity(intent); } }); titleView.setText(value.title); infoView.setText(value.price); gonggaoView.setText(value.info); saleView.setText(value.text); for (int i = 0; i < imageViews.length; i++) { mImageLoader.displayImage(imageViews[i], value.url.get(i)); } container.addView(rootView, 0); return rootView; }}
0 0
- ViewPager实现无限循环
- ViewPager实现无限循环
- 实现无限循环ViewPager
- viewpager自动无限循环实现
- android 实现无限循环viewpager
- android viewpager 无限循环实现gallery 效果
- Android ViewPager 实现无限循环滑动
- ViewPager实现左右无限循环效果
- Android中ViewPager无限循环实现方法
- android viewpager 实现左右无限循环
- ViewPager实现左右无限循环滑动
- viewpager实现无限循环滚动幻灯片
- 【Android】ViewPager实现无限循环滚动
- ViewPager实现自动无限循环切换
- Android ViewPager实现无限循环滑动
- android 自定义Viewpager实现无限循环
- 无限循环的轮播图ViewPager实现
- android viewpager实现无限循环自动滚动
- 从NFS启动Linux并挂载根文件系统
- QT can not find –lGL
- SSD模型配置出现问题及解决方法
- IntelliJ IDEA之项目热部署设置
- ecshop新增页面如何设置模板
- 实现无限循环ViewPager
- ubuntu14.04设置默认登录用户为root
- 每天一个linux命令——tr
- xUtils 的 数据库操作类
- 第一个 spring Boot 应用通过Docker 来实现构建、运行、发布
- java练习题
- C#硬件开发源码集合
- PHP重点难点算法与面试
- Leetcode 111 - Minimum Depth of Binary Tree(dfs)