adapter

适配器,重在适配二字。

 意思就是将一个东西通过一种方式放到(绑定)到另一个物体上,起初可能这两个物体不能很好的兼容。


在android 里面也有关于适配器的内容,


主要有ArrayAdapter,SimpleAdapter,BaseAdapter,SimpleCursorAdapter.


这里先记录前两个。


ArrayAdapter,数组适配器,


 ArrayAdapter(context, resource, textViewResourceId);


解释:T是数组里面的类型,context ,是上下文,通常是this ,resource 是适配器的数据显示样式(以资源文件存储),

textViewResourceId ,就是数据,是要放到适配器中的数据。


用法:

ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, getdata());//getdata() 是获取数据的方法,这里的返回类型是String的数组。


通过 需要适配器添加数据的 控件提供的方法,添加适配器到控件上面。


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与容器中的对应。








更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. 数据存储之文件存储
  3. AndroidのActivity跳转数据通信和跳转动画
  4. SharedPreferences最佳实践
  5. android bluetooth开发基础-9管理连接
  6. Android(安卓)使用Gson解析json用法
  7. Android开发SQLite基本用法
  8. Android解析JSON方式(一)服务器端生成JSON数据
  9. android:Activity数据传递之对象(Serializable)

随机推荐

  1. Android layout布局属性、标签属性总结大
  2. Android(安卓)修改SeekBar样式,打造理想进
  3. [摘]android 入门xml布局文件
  4. ok6410 android driver(11)
  5. Android API中文文档GridView
  6. NestedScrollingParent, NestedScrolling
  7. 〖Android〗存在多个Android设备时,使用Sh
  8. Android Selector和Shape
  9. 关于android SDK安装Failed to fetch URL
  10. 【Android】如何调节屏幕亮度,关闭屏幕