Android Adapter之BaseAdapter

在讲BaseAdapter之前我们需要知道android的adapter是个什么东西

什么是Adapter

Adapter翻译成中文的意思是适配器,它的作用是让ListView和GridView展示Adapter中的数据。
换句话说当你用ListView或GridView的时候,你想让他们展示一些数据(内容),你就需要将这些数据(内容)交给Adapter,让Adapter来处理这些数据之后给ListView或GridView来显示。

怎么接收数据

在使用BaseAdapter时,需要自己写一个类来继承BaseAdapter。继承一个类后需要写一个构造函数,可以利用这构造函数来接收数据,接收的数据通常是一个List。
例:

public class MyAdapter extends BaseAdapter{
private Context context;
private List data;
	public MyAdapter(Context context, List data){
        super();
        this.context = context;
        this.data = data;
    }

}

Adapter怎么处理数据

Adapter想要处理数据就需要重写父类的一些方法。

getCount() 方法是得到Adapter接收到的数据的长度,也就是List内数据的数量

 @Override
    public int getCount() {
    	//返回data中数据的数量
        return data.size();
    }

getItem(int i) 方法是得到List中的某个数据

 @Override
    public Object getItem(int i) {
        return data.get(i);
    }

getItemId(int i)的作用是得到List中的某个数据的下标

@Override
    public long getItemId(int i) {
        return i;
    }

getView(int i, View view, ViewGroup viewGroup)的作用是得到一个View,这个View就是ListView和GridView中显示的内容。也就是说你想要ListView和GridView每个格子显示什么内容,就对这个返回的view进行相应的操作就可与了,例如给这个view加一个点击事件。

view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
              
            }
        });

下面是重写父类方法的事例

public View getView(int i, View view, ViewGroup viewGroup){
	//给返回的view加载布局
	view = LayoutInflater.from(context).inflate(R.layout.item,null);
	//这个返回的view就是ListView和GridView中每个格子显示的内容
	return view;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值