本篇记录了适配器的开发过程,实际上适配器肯定不是单独开发的,但是其繁琐的数据调整过程值得单独拿出来写写。
Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View (List View, Grid View)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:
开发过程中我只使用继承了BaseAdapter,它有四个基础方法,分别是获取数组长度,获取数据,获取数据序号和根据数据绘制View视图,本质是一个循环作图的过程。
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return null;
一个完整的安卓页面实现,至少有以下这四个文件:
①activity_main.xml
②MainActivity.java
③对象类.java
④对象类Adapter.java
①xml文件中要有view控件,指定@id;写好页面布局
②主页面文件中
把①填充过来,即setContentView(activity_main)
创建view,将这个view与xml文件中的View控件通过id的方式绑定
创建一个List数组,用来存放一组对象类的数据
创建一个自定义好的适配器adapter,传入参数(this,List数组)
view.setAdapter(adapter)
为view创建监听事件
初始化数据
③对象类中
列好自己的属性和.get() .set()方法,假设有三个属性
④自定义的适配器类中
创建一个对象类List数组
前三个方法按原样重写
创建一个临时的view包,存放三个view分别对应对象类的三个属性
getView(){
view.set(对象类.get属性)
}
换一套说法,
1.对xml文件,在你所需要的展示下拉视图的位置创建一个LIstView。
2.通过id,将Class文件中的TextView对象与xml文件中的TextView控件进行绑定。
3.创建一个数据数组,用来存储你需要展示的数据,我这里就是使用了类Animals的对象。
4.创建一个Adapter适配器类,实现BaseAdapter接口,重写里面的方法。
5.初始化数据,将this(本类的Class对象)和数据一起传到适配器中。
6.将适配器绑定到ListView控件上,再为控件设置监听事件。
7.对Adapter实现类的说明,也就是控件绑定子视图,给相应空间设置数据,返回子视图三步,各位看代码就可明白。