package com.sjl.yuehu.ui.adapter;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.sjl.yuehu.R;
import com.sjl.yuehu.data.bean.HomeBean;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
/**
* Created by 小鹿 on 2017/2/15.
*/
public class VpAdapter extends PagerAdapter {
@Bind(R.id.top_icon)
ImageView topIcon;
@Bind(R.id.icon_title)
TextView iconTitle;
private List<HomeBean.TopStoriesBean> data;
private Context context;
//
public VpAdapter(Context context, List<HomeBean.TopStoriesBean> top_stories) {
this.context = context;
this.data = top_stories;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
position %= data.size();
if (position < 0) {
position = data.size() + position;
}
View view = View.inflate(context, R.layout.top_vp_homepage_fg, null);
ButterKnife.bind(this, view);
iconTitle.setText(data.get(position).getTitle());
Glide.with(context)
.load(data.get(position).getImage())
.error(R.mipmap.bg_about)
.into(topIcon);
//如果View已经在之前添加到了一个父组件,则必须先remove,否则会抛出IllegalStateException。
ViewParent vp =view.getParent();
if (vp!=null){
ViewGroup parent = (ViewGroup)vp;
parent.removeView(view);
}
container.addView(view);
//add listeners here if necessary
return view;
}
}