第一种:list数据里面是 Fragment 自定义Adapter 继承FragmentPagerAdapter
// viewpager里面放 fragment
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyAdapterFragment extends FragmentPagerAdapter {
private List<Fragment> mList;
public MyAdapterFragment(FragmentManager fm,List<Fragment> mList) {
super(fm);
// TODO Auto-generated constructor stub
this.mList = mList;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return mList.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mList.size();
}
}
第二种:list数据里面是 普通的view布局 自定义Adapter继承 PageAdapter
// 引导界面的三张图片的adapter
public class MyAdAdapter extends PagerAdapter {
private List<AdBean> list;
private ImageLoader loader;
private RequestQueue queue;
private Context mContext;
private List<NetworkImageView> mList;
private String urlHead = "http://litchiapi.jstv.com";
public MyAdAdapter(RequestQueue queue,List<AdBean> list,Context mContext){
this.queue = queue;
this.list = list;
this.mContext = mContext;
//在构造方法里得到一个存放NetworkImageView的集合
mList = new ArrayList<NetworkImageView>();
loader = new ImageLoader(queue, MyImageCache.getInstance());
for(int i=0; i<list.size();i++){
NetworkImageView view = new NetworkImageView(mContext);
view.setScaleType(ScaleType.FIT_XY);
view.setImageUrl(urlHead+list.get(i).getPhoto(), loader);
mList.add(view);
}
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mList.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == arg1;
}
// 这两个方法需要添加
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
container.addView(mList.get(position));
return mList.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
//super.destroyItem(container, position, object);
container.removeView(mList.get(position));
}
}
第三种:最常用的自定义adapter 继承 BaseAdpter