MeOrdinary 2014-05-13
今天做项目,用到了listview这个空间,看到SimpleAdapter类的构造函数,一直有一些疑惑,例如如下代码
//第一个参数Content:上下文 //第二个参数List<? extends Map<String, ?>>:ArrayList对象,ArrayList里面存放的是HashMap,而HashMap的键值对都是String类型 //第三个参数int resource:内容显示的布局文件 //第四个参数String[] from:被添加到ArrayList中的HashMap中key的名称,要显示的列 //第五个参数int[] to:内容显示的布局文件中,显示内容的控件id SimpleAdapter listAdapter = new SimpleAdapter(this, list, R.layout.car, new String[] { "user_name", "user_ip" }, new int[] { R.id.number, R.id.name } );
参数1和参数2就不说,一下就能理解。
关键是后面三个参数,尤其是第三个以及第五个参数,一开始以为参数3应该是存放了listview的 .xml ,然后就奇怪,参数5的两个控件都不存在啊???
后来才发现,我的理解错误了,SimpleAdapter这个适配器,每一条记录都要显示一次该布局文件!!!也就是说参数3的布局文件,要在我们的listview中显示好多次!!!而这个参数3的布局文件,定义了每次显示数据时的格式。
难怪人家说SimpleAdapter这个控件通用性很强,而参数5则是参数3的布局文件中要显示的控件。。。
顺便附上一个看到的帖子,以后借鉴一下:
http://www.cnblogs.com/loulijun/archive/2011/12/27/2303488.html