Android Adapter学习心得

有三种常用的适配器

ArrayAdapter  SimpleAdapter BaseAdapter

其中用ArrayAdapter 和SimpleAdapter 就可以完成大多数的ListView

其中ArrayAdapter貌似只能匹配字符串

super.onCreate(savedInstanceState);
		setContentView(R.layout.arraylistview);
		ListView view1 = (ListView) findViewById(R.id.listView1);
		String[] arr = new String[]{
				"唐僧","孙悟空","猪八戒","沙僧","白龙马"
		};
		ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arr);
		view1.setAdapter(adapter1);
		int[] arr1 = new int[]{
				R.drawable.wp1,R.drawable.wp2,R.drawable.wp3
		};
ArrayAdapter<String>的构造函数,

第一个参数是指定的context,一般都是this

第二个参数是listview中每一项(每一行)用的布局,在这里我们调用了android系统提供的一个布局

第三个参数是一个ArrayList类型的对象,他的size代表了有多少列



SimpeAdapter 它的功能比较强大,她代表的每一项都不仅仅只有一个数据,而是可以存在多个数据

super.onCreate(savedInstanceState);
		this.setContentView(R.layout.simpleadapter);
		ListView view1 = (ListView) findViewById(R.id.simple_listView1);
		List<Map<String,Object> >listItems = new ArrayList<Map<String,Object> >();
		for(int i=0;i<names.length;i++)
		{
			Map<String,Object>listItem = new HashMap<String,Object>();
			listItem.put("header", imagesId[i]);
			listItem.put("personName", names[i]);
			listItem.put("desc", descs[i]);
			listItems.add(listItem);
		}
		SimpleAdapter simpleAdapter = new SimpleAdapter(this,listItems,R.layout.simpleadapteritem,new String[]{"header","personName","desc"},new int[]{R.id.item_imageView1,R.id.item_textView1,R.id.item_textView2});
		view1.setAdapter(simpleAdapter);

在以上的栗子中,我们每一个数据项有三个数据,simpleAdapter一般利用List<Map<String,xx> >来存放数据在这里我们xx在同一个数据项中可以是String也可以是int

关于SimpleAdapter的构造函数

第一个参数,context this

第二个参数 一般是每一个数据项的布局文件

第三个参数 是Map里面用到的index 一般都是String

第四个参数 是Map里面index对应的Value的值应该填充到布局文件中的哪一块。。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值