Android的Adapter的用法
来源:互联网 发布:中国新歌声2网络直播 编辑:程序博客网 时间:2024/06/16 14:57
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(复选框)等等。
- Android-adapter的用法
- Android的Adapter的用法
- Android之Adapter的用法
- Android的Adapter用法总结
- Android各种Adapter的用法
- Android各种Adapter的用法
- Android的Adapter用法理解
- Android各种Adapter的用法
- Android Adapter的几种用法
- Android中各种Adapter的用法
- Android中各种Adapter的用法
- Android中Adapter的用法总结
- Android开发之 。。各种Adapter的用法
- Android—ListView和Adapter的用法
- Android开发各种Adapter的用法
- 各种Adapter的用法
- 各种Adapter的用法
- 各种Adapter的用法
- 前段弹窗实现方法
- 线性结构 循环队列
- Tomcat 第四讲
- 各种常见排序算法的比较
- poj 2378 Tree Cutting
- Android的Adapter的用法
- 大白话解析模拟退火算法
- linux进入图形界面的方法
- SAP 设置或取消仓库不参与MRP运算
- Ubuntu 13.04 使用 goagent + chrome 体验自由网络
- easyui datagrid 日间格化(JS 日期时间本地化显示)
- C++ Primer 中文版 学习笔记(五)
- JAVA等级对比表
- 生产线上mysql占CPU过高排查实战