package com.mugua.mgvideo.ui.category;
|
|
import java.util.List;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.util.Log;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.BaseAdapter;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.RequestManager;
|
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 com.yeshi.video.ui.VideoDetailActivity;
|
|
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
|
|
public class SpecificMovieAdapter extends BaseAdapter {
|
private ImageLoader imageLoader = ImageLoader.getInstance();
|
private Context context;
|
private List<VideoInfo> Infos;
|
private DisplayImageOptions options;
|
|
private RequestManager glide;
|
|
public SpecificMovieAdapter(List<VideoInfo> Info, Context context) {
|
super();
|
this.context = context;
|
this.Infos = Info;
|
glide = Glide.with(context);
|
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();
|
|
// mSpecificDetailInfos = new ArrayList<SpecificDetailInfo>();
|
// for (int i = 0; i < 10; i++) {
|
// SpecificDetailInfo sdInfo = new SpecificDetailInfo();
|
//
|
// sdInfo.setId("" + i);
|
// sdInfo.setName(i + "电源");
|
// sdInfo.setPicture("http://img.zcool.cn/community/focus/a55356de4b730000011820b3cead.jpg");
|
// sdInfo.setScore("4");
|
// mSpecificDetailInfos.add(sdInfo);
|
//
|
// }
|
}
|
|
@Override
|
public int getCount() {
|
// if (mSpecificDetailInfos != null) {
|
// return mSpecificDetailInfos.size();
|
// }
|
// return 0;
|
int index = Infos.size();
|
if (Infos == null) {
|
return 0;
|
} else {
|
if (index % 3 == 0) {
|
return index / 3;
|
} else {
|
return index / 3 + 1;
|
}
|
}
|
}
|
|
@Override
|
public Object getItem(int position) {
|
if (Infos != null) {
|
return Infos.get(position);
|
}
|
return null;
|
}
|
|
@Override
|
public long getItemId(int position) {
|
return position;
|
}
|
|
// private SpecificDetailInfo info;
|
|
@Override
|
public View getView(int position, View convertView, ViewGroup parent) {
|
ViewHolder holder = null;
|
// info = null;
|
if (convertView == null) {
|
holder = new ViewHolder();
|
convertView = LayoutInflater.from(parent.getContext()).inflate(
|
R.layout.specific_detail_movie_item, parent, false);
|
holder.sp_movie_cover = (ImageView) convertView
|
.findViewById(R.id.sp_movie_cover);
|
holder.sp_movie_rating = (TextView) convertView
|
.findViewById(R.id.sp_movie_rating);
|
holder.sp_movie_title = (TextView) convertView
|
.findViewById(R.id.sp_movie_title);
|
holder.sp_movie_cover2 = (ImageView) convertView
|
.findViewById(R.id.sp_movie_cover2);
|
holder.sp_movie_rating2 = (TextView) convertView
|
.findViewById(R.id.sp_movie_rating2);
|
holder.sp_movie_title2 = (TextView) convertView
|
.findViewById(R.id.sp_movie_title2);
|
holder.sp_movie_cover3 = (ImageView) convertView
|
.findViewById(R.id.sp_movie_cover3);
|
holder.sp_movie_rating3 = (TextView) convertView
|
.findViewById(R.id.sp_movie_rating3);
|
holder.sp_movie_title3 = (TextView) convertView
|
.findViewById(R.id.sp_movie_title3);
|
holder.ll_video_show1 = (LinearLayout) convertView
|
.findViewById(R.id.ll_video_show1);
|
holder.ll_video_show2 = (LinearLayout) convertView
|
.findViewById(R.id.ll_video_show2);
|
holder.ll_video_show3 = (LinearLayout) convertView
|
.findViewById(R.id.ll_video_show3);
|
convertView.setTag(holder);
|
} else {
|
holder = (ViewHolder) convertView.getTag();
|
}
|
|
holder.ll_video_show1.setTag(position * 3);
|
holder.ll_video_show2.setTag(position * 3 + 1);
|
holder.ll_video_show3.setTag(position * 3 + 2);
|
|
final VideoInfo info = Infos.get(position * 3);
|
// imageLoader.displayImage(Infos.get(position * 3).getPicture(),
|
// holder.sp_movie_cover, options);
|
glide.load(Infos.get(position * 3).getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(holder.sp_movie_cover);
|
holder.sp_movie_rating.setText(Infos.get(position * 3).getScore());
|
holder.sp_movie_title.setText(Infos.get(position * 3).getName());
|
holder.ll_video_show1.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
Log.v("Tag", "tag: " + v.getTag());
|
myClick(info, v);
|
}
|
});
|
|
if ((position * 3 + 1) < Infos.size()) {
|
final VideoInfo info2 = Infos.get(position * 3 + 1);
|
// imageLoader.displayImage(Infos.get(position * 3 +
|
// 1).getPicture(),
|
// holder.sp_movie_cover2, options);
|
glide.load(Infos.get(position * 3 + 1).getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(holder.sp_movie_cover2);
|
holder.sp_movie_rating2.setText(Infos.get(position * 3 + 1)
|
.getScore());
|
holder.sp_movie_title2.setText(Infos.get(position * 3 + 1)
|
.getName());
|
if (info2 != null) {
|
holder.ll_video_show2.setVisibility(View.VISIBLE);
|
}
|
holder.ll_video_show2.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
Log.v("Tag", "tag: " + v.getTag());
|
myClick(info2, v);
|
}
|
});
|
} else {
|
holder.ll_video_show2.setVisibility(View.INVISIBLE);
|
}
|
|
if ((position * 3 + 2) < Infos.size()) {
|
final VideoInfo info3 = Infos.get(position * 3 + 2);
|
// imageLoader.displayImage(Infos.get(position * 3 + 2).getPicture(),
|
// holder.sp_movie_cover3, options);
|
glide.load(Infos.get(position * 3 + 2).getPicture())
|
.placeholder(R.drawable.ic_default_cover)
|
.error(R.drawable.ic_default_cover).transition(withCrossFade())
|
.into(holder.sp_movie_cover3);
|
holder.sp_movie_rating3.setText(Infos.get(position * 3 + 2)
|
.getScore());
|
holder.sp_movie_title3.setText(Infos.get(position * 3 + 2)
|
.getName());
|
if (info3 != null) {
|
holder.ll_video_show3.setVisibility(View.VISIBLE);
|
}
|
holder.ll_video_show3.setOnClickListener(new OnClickListener() {
|
|
@Override
|
public void onClick(View v) {
|
Log.v("Tag", "tag: " + v.getTag());
|
myClick(info3, v);
|
|
}
|
});
|
} else {
|
holder.ll_video_show3.setVisibility(View.INVISIBLE);
|
}
|
|
return convertView;
|
}
|
|
class ViewHolder {
|
ImageView sp_movie_cover;
|
TextView sp_movie_rating, sp_movie_title;
|
ImageView sp_movie_cover2;
|
TextView sp_movie_rating2, sp_movie_title2;
|
ImageView sp_movie_cover3;
|
TextView sp_movie_rating3, sp_movie_title3;
|
LinearLayout ll_video_show1, ll_video_show2, ll_video_show3;
|
}
|
|
private void myClick(VideoInfo videoInfo, View v) {
|
Intent intent = new Intent(v.getContext(), VideoDetailActivity.class);
|
intent.putExtra("video_info", videoInfo);
|
v.getContext().startActivity(intent);
|
}
|
}
|