viewpager显示图片的Adapter
package com.ming.chiye.yishanghorse.Adapter; import android.content.Context; import android.graphics.Color; import android.net.Uri; import android.support.annotation.NonNull; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.lidroid.xutils.BitmapUtils; import com.ming.chiye.yishanghorse.Bean.TeacherInitDataBean; import com.ming.chiye.yishanghorse.Utils.MyLog; import java.util.ArrayList; import java.util.List; public class TeachrtCarouselAdapter extends PagerAdapter { List<TeacherInitDataBean.ContainerBean> ContainerBeans; private final List<ImageView> imageViews; public TeachrtCarouselAdapter(List<TeacherInitDataBean.ContainerBean> ContainerBeans, Context context) { super(); this.ContainerBeans = ContainerBeans; imageViews = new ArrayList<>(); BitmapUtils bitmapUtils = new BitmapUtils(context); for (int i = 0; i < ContainerBeans.size(); i++) { ImageView imageView = new ImageView(context); imageView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); imageView.setScaleType(ImageView.ScaleType.FIT_XY); String url = ContainerBeans.get(i).getImgurl(); bitmapUtils.display(imageView, url); imageViews.add(i + 1, imageView); if (i == 0) { ImageView imageView1 = new ImageView(context); bitmapUtils.display(imageView1, url); imageViews.add(ContainerBeans.size() + 1, imageView1); } if (i == ContainerBeans.size() - 1){ ImageView imageView2 = new ImageView(context); bitmapUtils.display(imageView2, url); imageViews.add(0, imageView2); } } ImageView lastimageview = new ImageView(context); lastimageview.setImageDrawable(imageViews.get(0).getDrawable()); imageViews.add(lastimageview); } @Override public int getCount() { return imageViews.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object o) { return view == o;// } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { container.addView(imageViews.get(position));//将image添加到容器中显示 return imageViews.get(position);//返回当前下标要显示的imageview } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView(imageViews.get(position));//销毁的item } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库