Adapter——适配器的使用

Adapter

将数据以列表的形式显示到屏幕上,需要三步:

1)      需要一个ListView

2)      准备好要显示的数据,这些数据可能是数组,元素是map的集合,从数据库或者内容提供者中查询获得的游标

3)      需要一个将数据逐条读入然后装入到相应列表项的适配器,通过适配器可以设置列表项的布局以及绑定要显示的数据

根据要显示的数据源的不同,适配器常用的有如下三种,以下代码都是基于ListActivity,该对象本身持有一个listView对象,该对象提供给了一些方法来管理listview对象。

ArrayAdapter

数组适配器,用于显示一个数组,用法如下:

String []data={"google","amazon","baidu"};
ArrayAdapter adapter=new ArrayAdapter(this, R.layout.array, data);
this.setListAdapter(adapter);

SimpleAdapter

用于显示静态数据,一般是一个list集合,list中的元素是map<String, object>类型,每个map对应一个列表项,map中的每个元素对应着一个列名和列值,用法如下:

List <Map<String,Object>> list=new ArrayList<Map<String,Object>>();
	Map<String,Object> item1=new HashMap<String,Object >();
	Map<String,Object> item2=new HashMap<String,Object >();
	item1.put("Name", "hulu");
	item1.put("Age", 23);
	item1.put("genda", "male");
	item1.put("major", "computer");
	item2.put("Name", "limeng");
	item2.put("Age", 25);
	item2.put("genda", "male");
	item2.put("major", "program");
	list.add(item1);
	list.add(item2);
	
	SimpleAdapter adapter=new SimpleAdapter(this,list,
				R.layout.activity_main,
				new String[]{"Name","Age"},
				new int[]{R.id.text1,R.id.text2});
this.setListAdapter(adapter);

SimpleCursorAdapter

用于显示查询结果集的游标,数据源通常是一个SQLite数据库或者是一个内容提供者,用法如下:

ContentResolver resolver=this.getContentResolver();
	Cursor cursor=resolver.query(People.CONTENT_URI, null, null, null, null);
	this.startManagingCursor(cursor);
	SimpleCursorAdapter adapter=new SimpleCursorAdapter(this, R.layout.activity_main, cursor,
				new String[]{People.NAME,People.NUMBER}, 
				new int[]{R.id.text1,R.id.text2});
	this.setListAdapter(adapter);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值