关于 SimpleAdapter 适配器
adapter
适配器,重在适配二字。
意思就是将一个东西通过一种方式放到(绑定)到另一个物体上,起初可能这两个物体不能很好的兼容。
在android 里面也有关于适配器的内容,
主要有ArrayAdapter,SimpleAdapter,BaseAdapter,SimpleCursorAdapter.
这里先记录前两个。
ArrayAdapter,数组适配器,
ArrayAdapter
解释:T是数组里面的类型,context ,是上下文,通常是this ,resource 是适配器的数据显示样式(以资源文件存储),
textViewResourceId ,就是数据,是要放到适配器中的数据。
用法:
ArrayAdapter
通过 需要适配器添加数据的 控件提供的方法,添加适配器到控件上面。
SimpleAdapter,名字上,simpe,虽然是可以称为简单,但是正是因为它的简答,才使得它有较好扩展性。
他可以适配数据有,图片,按钮,复选框等。
通常与ListView同用。
原型:SimpleAdapter mAdapter = new SimpleAdapter(context, data, resource, from, to);
解释:context ,为上下文,表示的是那个activity ,关于这个context ,详细参见:点击打开链接
data,是指要放入适配器中的数据,通常以函数(方法)的调用得到。
resource 还是指样式。
from ,to ,,是指把××数据放大××地方(控件)。,可以将一个文本放到TextView 控件里,也可以将一个图片放到一个ImageView控件里。通常是以字符数组表示key,去取value. 以整型数组作为地址序列,表示位置。
这里指控件的位置。
关于数据,是List 里存放的是HashMap的对象。用到了C++中称为模板,或泛型的东西。
具体用法,如代码。
ListView mListView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.test);mListView = (ListView) findViewById(R.id.lv);SimpleAdapter mSimpleAdapter = new SimpleAdapter(this, getData(),R.layout.simple_style, new String[]{"image","name","button"},new int[]{R.id.image,R.id.match_name_view,R.id.baoming_button} );mListView.setAdapter(mSimpleAdapter);//setListAdapter(mSimpleAdapter);ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, getdata());new ArrayAdapter(context, resource, textViewResourceId);SimpleAdapter mAdapter = new SimpleAdapter(context, data, resource, from, to)}private List> getData() {// TODO Auto-generated method stubList> maps = new ArrayList>();for(int i =0;i<10; i++){HashMap hmMap = new HashMap();hmMap.put("image", R.drawable.ic_launcher);hmMap.put("name", "match_name"+i);hmMap.put("button",R.layout.my_button);maps.add(hmMap);}return maps;}
注意String数组中的key与容器中的对应。
更多相关文章
- 一句话锁定MySQL数据占用元凶
- 数据存储之文件存储
- AndroidのActivity跳转数据通信和跳转动画
- SharedPreferences最佳实践
- android bluetooth开发基础-9管理连接
- Android(安卓)使用Gson解析json用法
- Android开发SQLite基本用法
- Android解析JSON方式(一)服务器端生成JSON数据
- android:Activity数据传递之对象(Serializable)