package com.atguigu.mobileplayer1020.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.atguigu.mobileplayer1020.R; import com.atguigu.mobileplayer1020.bean.MediaItem; import com.atguigu.mobileplayer1020.utils.Constant; import com.atguigu.mobileplayer1020.utils.Utils; import com.bumptech.glide.Glide; import org.xutils.common.util.DensityUtil; import org.xutils.image.ImageOptions; import java.util.ArrayList; /** * 作者:尚硅谷-杨光福 on 2017/1/7 11:48 * 微信:yangguangfu520 * QQ号:541433511 * 作用:本地视频的适配器 */ public class NetVideoAdapter extends BaseAdapter { private final Context mContext; private final ArrayList<MediaItem> datas; private Utils utils; private ImageOptions imageOptions; public NetVideoAdapter(Context mContext, ArrayList<MediaItem> mediaItems) { this.mContext = mContext; this.datas = mediaItems; utils = new Utils(); imageOptions = new ImageOptions.Builder() .setSize(DensityUtil.dip2px(120), DensityUtil.dip2px(120)) .setRadius(DensityUtil.dip2px(5)) // 如果ImageView的大小不是定义为wrap_content, 不要crop. .setCrop(true) // 很多时候设置了合适的scaleType也不需要它. // 加载中或错误图片的ScaleType //.setPlaceholderScaleType(ImageView.ScaleType.MATRIX) .setImageScaleType(ImageView.ScaleType.CENTER_CROP) .setLoadingDrawableId(R.drawable.video_default)//加载过程中的默认图片 .setFailureDrawableId(R.drawable.video_default)//就挨着出错的图片 .build(); } @Override public int getCount() { return datas.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if(convertView==null){ convertView = View.inflate(mContext, R.layout.item_net_video,null); viewHolder = new ViewHolder(); viewHolder.iv_icon = (ImageView) convertView.findViewById(R.id.iv_icon); viewHolder.tv_name = (TextView) convertView.findViewById(R.id.tv_name); viewHolder.tv_duration = (TextView) convertView.findViewById(R.id.tv_duration); viewHolder.tv_size = (TextView) convertView.findViewById(R.id.tv_size); //设置tag convertView.setTag(viewHolder); }else{ viewHolder = (ViewHolder) convertView.getTag(); } //根据位置得到对应的数据 MediaItem mediaItem = datas.get(position); viewHolder.tv_name.setText(mediaItem.getName());//设置名称 //设置文件大小 viewHolder.tv_size.setText(mediaItem.getDuration()+"秒"); //设置时间 viewHolder.tv_duration.setText(mediaItem.getDesc()); //s使用xUtils3请求图片 // x.image().bind(viewHolder.iv_icon,mediaItem.getImageUrl(),imageOptions); //使用Glide或者Picasso请求图片 // Picasso.with(mContext) // .load(mediaItem.getImageUrl()) // .placeholder(R.drawable.video_default) // .error(R.drawable.video_default) // .into(viewHolder.iv_icon); Glide.with(mContext) .load(Constant.BASE_URL+mediaItem.getImageUrl()) .placeholder(R.drawable.video_default) .error(R.drawable.video_default) .into(viewHolder.iv_icon); return convertView; } static class ViewHolder{ TextView tv_name; TextView tv_duration; TextView tv_size; ImageView iv_icon; } }