Android两种适配器的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android两种适配器的使用相关的知识,希望对你有一定的参考价值。

ArrayAdapter适配器:
(1)用于显示基本的文字内容
(2)基本使用过程:新建适配器---创建或加载数据源---适配器加载数据源---视图加载适配器
ArrayAdapter(上下文,当前ListView加载的每一个列表项所对应的布局文件,数据源)
(ArrayAdapter)数据适配器的实现过程:
1.新建适配器

arr_adapter=new ArrayAdapter<String>(context,布局文件,数据源)

arr_adapter=new ArrayAdapter<String>(上下文(this),当前ListView加载的每一个列表项所对应的布局文件(android.R.layout.simple_list_item_1),数据源(String[]arr_data={"1","2","3","4"}));
2.添加数据源到适配器(上一步已包含)
3.视图(ListView)加载适配器
listView.setAdapter(arr_adapter);

技术分享

 

使用SimpleAdapter

private ListView listView;

private SimpleAdapter simple_adapter;

//声明适配器

private List<Map<String, Object>> dataList;
dataList=new ArrayList<Map<String,Object>>();
//1、新建一个数据适配器—SimpleAdapter();

//2、适配器加载数据源
simple_adapter = new SimpleAdapter(this,getData()*获取数据源*,R.layout.布局文件名,new String[]{"键值名1","键值名2"},new int[]{R.id.控件名1,R.id.控件名2});

 

//3、视图(ListView)加载适配器
listView.setAdapter(simple_adapter);

 

// 生成数据源
private List<Map<String, Object>> getData() {
for(int i=0;i<20;i++){
Map<String,Object> map=new HashMap<String,Object>();
map.put("键值名",R.drawable.ic_launcher);
map.put("键值名","测试文本"+i);
dataList.add(map);
}
return dataList;
}

注意:map.put("pic",R.drawable.ic_launcher);map.put("text","测试文本"+i);这里的pic和text与new int[] { R.id.pic,R.id.text}无关(只是同名罢了),是关联于new String[] {"pic", "text"}中的名字。

 技术分享

 

以上是关于Android两种适配器的使用的主要内容,如果未能解决你的问题,请参考以下文章

Android中通过数组资源文件xml与适配器两种方式给ListView列表视图设置数据源

java/android 设计模式学习笔记---适配器模式

android-ListView空间的使用

Android源码适配器模式---Activity类结构

Android 屏幕适配

android开发SPP经典蓝牙