package com.zhan_dui.adapters;
import android.content.Context;
import android.content.Intent;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import com.zhan_dui.animetaste.AdvertiseActivity;
import com.zhan_dui.animetaste.PlayActivity;
import com.zhan_dui.animetaste.R;
import com.zhan_dui.model.Advertise;
import com.zhan_dui.model.Animation;
import java.util.ArrayList;
public class RecommendAdapter extends PagerAdapter {
private ArrayList<Advertise> mAdvertises = new ArrayList<Advertise>();
private ArrayList<Animation> mRecommends = new ArrayList<Animation>();
private int mAdvertiseCount;
private int mRecommendCount;
private int mTotalCount;
private Context mContext;
private LayoutInflater mInflater;
public RecommendAdapter(Context context,ArrayList<Advertise> Ads,ArrayList<Animation> Recommends){
mAdvertises = Ads;
mRecommends = Recommends;
mAdvertiseCount = mAdvertises == null ? 0 : mAdvertises.size();
mRecommendCount = mRecommends == null ? 0 : mRecommends.size();
mTotalCount = mAdvertiseCount + mRecommendCount;
mInflater = LayoutInflater.from(context);
mContext = context;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View recommendView = mInflater.inflate(R.layout.recommend_view,container,false);
ImageView recommendImage = (ImageView)recommendView.findViewById(R.id.recommend_image);
String imageUrl;
if(position<mAdvertiseCount){
imageUrl = mAdvertises.get(position).DetailPic;
recommendImage.setOnClickListener(new AdvertiseItemOnClickListener(mAdvertises.get(position)));
}else{
imageUrl = mRecommends.get(position - mAdvertiseCount).DetailPic;
recommendImage.setOnClickListener(new AnimationItemOnClickListener(mRecommends.get(position - mAdvertiseCount)));
}
Picasso.with(mContext).load(imageUrl).placeholder(R.drawable.big_bg).error(R.drawable.big_bg).into(recommendImage);
container.addView(recommendView);
return recommendView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View)object);
}
@Override
public int getCount() {
return mTotalCount;
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view == o;
}
/**
* Animation item Click listener
*/
private class AnimationItemOnClickListener implements View.OnClickListener{
private Animation mAnimation;
public AnimationItemOnClickListener(Animation animation){
this.mAnimation = animation;
}
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, PlayActivity.class);
intent.putExtra("Animation",mAnimation);
mContext.startActivity(intent);
}
}
/**
* Advertise item click listener
*/
private class AdvertiseItemOnClickListener implements View.OnClickListener{
private Advertise mAdvertise;
private AdvertiseItemOnClickListener(Advertise mAdvertise) {
this.mAdvertise = mAdvertise;
}
@Override
public void onClick(View view) {
Intent intent = new Intent(mContext, AdvertiseActivity.class);
intent.putExtra("Advertise",mAdvertise);
mContext.startActivity(intent);
}
}
}