android 关于各种 adapter

本文将介绍三种在Android开发中使用自定义Adapter的方法,包括Fragment、普通view布局和常用的BaseAdapter,通过实例代码展示如何实现适配器与ViewPager、ListView等组件的无缝集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种: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 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值