public class Myadapter extends BaseAdapter { private List<ReuslDate.NewslistBean> list; private Context context; private final DisplayImageOptions options; private final int ITEM=0; private final int ITEM1=1; public Myadapter(List<ReuslDate.NewslistBean> list, Context context) { this.list = list; this.context = context; //显示适配 //2.显示配置 //使用内存缓存 //使用磁盘缓存 //设置正在下载的图片 //url为空或请求的资源不存在时 //下载失败时显示的图片 //设置图片色彩模式 1px=2个字节 ARGB_8888 1px=4个字节 ARGB_4444 1px=2个字节 ALPHA_8 1px=1个字节 //设置图片的缩放模式 //设置图片的圆角 注意:控件必须要设定宽度与高度 options = new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(true)//使用磁盘缓存 .showImageOnLoading(R.mipmap.ic_launcher)//设置正在下载的图片 .showImageForEmptyUri(R.mipmap.ic_launcher)//url为空或请求的资源不存在时 .showImageOnFail(R.mipmap.ic_launcher)//下载失败时显示的图片 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 1px=2个字节 ARGB_8888 1px=4个字节 ARGB_4444 1px=2个字节 ALPHA_8 1px=1个字节 .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式 .displayer(new RoundedBitmapDisplayer(100))//设置图片的圆角 注意:控件必须要设定宽度与高度 .build(); } //得到不同类型的视图总数量 @Override public int getViewTypeCount() { return 2; } @Override public int getItemViewType(int position) { if (position%2==0){ //偶数行 return ITEM; }else{ return ITEM1; } } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { //1.调用getItemViewType,确定当条目展示的类型,然后加载不同的布局文件 int itemviewtype=getItemViewType(i); ViewHoder hoder; if (itemviewtype==ITEM){ if (view==null){ view=View.inflate(context,R.layout.istitem,null); hoder=new ViewHoder(); hoder.text1=view.findViewById(R.id.text1); hoder.text2=view.findViewById(R.id.text2); hoder.image=view.findViewById(R.id.image); view.setTag(hoder); }else{ hoder= (ViewHoder) view.getTag(); } hoder.text1.setText(list.get(i).getTitle()); hoder.text2.setText(list.get(i).getDescription()); if (list.get(i).getPicUrl()!=null && list.get(i).getPicUrl().length()>0){ ImageLoader.getInstance().displayImage(list.get(i).getPicUrl(),hoder.image,options); } return view; }else { ViewHolder1 viewHolder1; if(view==null){ viewHolder1=new ViewHolder1(); view=View.inflate(context,R.layout.item1,null); viewHolder1.etext1=view.findViewById(R.id.etext1); view.setTag(viewHolder1); }else { viewHolder1= (ViewHolder1) view.getTag(); } viewHolder1.etext1.setText(list.get(i).getTitle()); return view; } } class ViewHoder{ TextView text1; TextView text2; ImageView image; } class ViewHolder1{ TextView etext1; } }
不同Item的加载
最新推荐文章于 2021-11-21 23:01:46 发布