1、Adapter是连接后端数据和前段显示的适配器接口,是数据和UI之间的重要的纽带。它就好像是MVC中的Controller一样。
比较常用的有BaseAdapter、SimpleAdapter、ArrayAdapter、SimpleCursorAdapter等。
。BaseAdapter是一个抽象类,继承它需要实现较多的方法,具有较高的灵活性;
。ArrayAdapter支持泛型,最为简单,只能展示一行字符串;
。SimpleAdapter具有较好的扩展性,可以自定义出各种效果;
。SimpleCursorAdapter可以适用于简单的纯问祖型ListView,它需要Cursor的字段和UI的id对应起来。如需要实现更复杂的UI也可以重写其他方法。可以认为是SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。
2、ArrayAdapter实例
列表的显示需要三个元素:
a.ListVeiw 用来展示列表的View。
b.适配器 用来把数据映射到ListView上的中介。
c.数据 具体的将被映射的字符串,图片,或者基本组件。
public class SpinnerActivity extends Activity {
private static final String[] mCountries = { "中国", "美国", "日本", "俄罗斯", "加拿大" };
Spinner sp = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner);
add_list();
}
private void add_list() {
sp = (Spinner) findViewById(R.id.myspinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mCountries);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setAdapter(adapter);
}
}
上面代码使用了ArrayAdapter(Context context, int textViewResourceId, List<T> objects)来装配数据,要装配这些数据就需要一个连接ListView视图对象和数组数据的适配器来两者的适配工作。这里的ArrayAdapter构造需要三个参数,依次为this,布局文件(注意这里的布局文件是系统已经定义好的布局文件,可以自己完成这样的布局文件)和数据源。同时用setAdapter()来完成适配的最后工作。
3、SimpleAdapter实例
simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。