在ArrayAdapter中,数据源一般是数组,而在SimpleAdapter中,数据源是List
一.构造函数:public SimpleAdapter (Context context, List extends Map> data, int resource, String[] from, int[] to);第一个参数:上下文对象;第二个参数:数据源,第三个参数:适配器控件中每个条目对应的布局文件;第四个参数:数据源中Map集合中的key的集合;
第五个参数:布局文件中控件Id的集合。
二.我们还是以ListView和SimpleAdapter为例,了解它的用法;
1.在布局文件中添加一个ListView控件,代码如下:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:id="@+id/listView_persons"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/textView1"
android:layout_toRightOf="@+id/textView1" >
2.由于这里使用SimpleAdapter,而它的第三个参数是需要一个布局文件,这个布局文件指定了他每个条目的样式,所以,在res下的layout中新建一个布局文件,名为layout_item,并设置某些属性,代码如下:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
android:id="@+id/textView_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="106dp"
android:layout_marginTop="15dp"
android:text="姓名" />
android:id="@+id/textView_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView_name"
android:layout_below="@+id/imageView_head"
android:text="年龄" />
android:id="@+id/imageView_head"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView_name"
android:layout_marginLeft="31dp"
android:src="@drawable/ic_launcher" />
3.给ListView中添加数据,用setAdapter(),并添加点击事件,这在里,我们根据它的提示,需要什么,我们就给它什么,所有的代码如下:
public class MainActivity extends Activity {
private List
4.完成后,运行效果如下:如果做到这一步,说明最基本的用法已经掌握了,随着以后和其他知识的结合,慢慢的就融会贯通了!