package com.zcy.ghost.vivideo.ui.adapter;
import android.content.Context;
import android.support.v7.widget.CardView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.makeramen.roundedimageview.RoundedImageView;
import com.zcy.ghost.vivideo.R;
import com.zcy.ghost.vivideo.component.ImageLoader;
import com.zcy.ghost.vivideo.model.bean.VideoInfo;
import com.zcy.ghost.vivideo.model.bean.VideoType;
import com.zcy.ghost.vivideo.utils.JumpUtil;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Description: SwipeDeckAdapter
* Creator: yxc
* date: 2016/9/30 11:10
*/
public class SwipeDeckAdapter extends BaseAdapter {
private List<VideoType> data;
private Context context;
private LayoutInflater inflater;
private VideoInfo videoInfo;
public SwipeDeckAdapter(List<VideoType> data, Context context) {
this.data = data;
this.context = context;
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
public void refresh(List<VideoType> data) {
this.data = data;
notifyDataSetChanged();
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.card_item, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ImageLoader.load(context, data.get(position).pic, holder.offerImage);
String intro = "\t\t\t" + data.get(position).description;
holder.tvIntroduction.setText(intro);
holder.tv_title.setText(data.get(position).title);
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switchData(data.get(position));
JumpUtil.go2VideoInfoActivity(context, videoInfo);
}
});
return convertView;
}
static class ViewHolder {
@BindView(R.id.offer_image)
RoundedImageView offerImage;
@BindView(R.id.tv_introduction)
TextView tvIntroduction;
@BindView(R.id.card_view)
CardView cardView;
@BindView(R.id.tv_title)
TextView tv_title;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}
private void switchData(VideoType videoType) {
if (videoInfo == null)
videoInfo = new VideoInfo();
videoInfo.title = videoType.title;
videoInfo.dataId = videoType.dataId;
videoInfo.pic = videoType.pic;
videoInfo.airTime = videoType.airTime;
videoInfo.score = videoType.score;
}
}