package com.mugua.mgvideo.ui.common;
|
|
import java.util.List;
|
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.RequestManager;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.mugua.mgvideo.R;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.yeshi.base.entity.video.VideoInfo;
|
|
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
|
|
public class RecommendVideoAdapter extends BaseAdapter {
|
|
private ImageLoader imageLoader = ImageLoader.getInstance();
|
|
private RequestManager glide;
|
|
private DisplayImageOptions options;
|
|
private List<VideoInfo> mVideoInfos;
|
|
private boolean isAdShow;
|
|
public RecommendVideoAdapter(List<VideoInfo> videoInfos, boolean isAdShow) {
|
super();
|
this.mVideoInfos = videoInfos;
|
this.isAdShow = isAdShow;
|
this.options = new DisplayImageOptions.Builder()
|
.showImageForEmptyUri(R.drawable.ic_default_cover)
|
.showImageOnFail(R.drawable.ic_default_cover)
|
.showImageOnLoading(R.drawable.ic_default_cover)
|
.resetViewBeforeLoading(true).cacheInMemory(true)
|
.cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY)
|
.considerExifParams(true)
|
// default
|
.displayer(new FadeInBitmapDisplayer(300)).build();
|
}
|
|
@Override
|
public int getCount() {
|
return mVideoInfos == null ? 0 : mVideoInfos.size();
|
}
|
|
@Override
|
public Object getItem(int position) {
|
return mVideoInfos.get(position);
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder viewHolder;
|
if (convertView == null) {
|
viewHolder = new ViewHolder();
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.movie_item2, parent, false);
|
viewHolder.iv_movie_cover = (ImageView) convertView
|
.findViewById(R.id.iv_movie_cover);
|
viewHolder.tv_movie_title = (TextView) convertView
|
.findViewById(R.id.tv_movie_title);
|
viewHolder.tv_movie_rating = (TextView) convertView
|
.findViewById(R.id.tv_movie_rating);
|
convertView.setTag(viewHolder);
|
} else {
|
viewHolder = (ViewHolder) convertView.getTag();
|
}
|
glide = Glide.with(convertView.getContext());
|
VideoInfo videoInfo = (VideoInfo) getItem(position);
|
// imageLoader.displayImage(videoInfo.getPicture(),
|
// viewHolder.iv_movie_cover, options);// GridVideoAdapter
|
glide.load(videoInfo.getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(viewHolder.iv_movie_cover);
|
viewHolder.tv_movie_title.setText(videoInfo.getName());
|
viewHolder.tv_movie_rating.setText(StringUtils.isBlank(videoInfo
|
.getTag()) ? "" : videoInfo.getTag());
|
return convertView;
|
}
|
|
private static class ViewHolder {
|
ImageView iv_movie_cover;
|
TextView tv_movie_title;
|
TextView tv_movie_rating;
|
}
|
}
|