SimpleAdapter
官方定义:
An easy adapter to map static data to views defined in an XML file.
一个简单的适配器,将静态数据映射到一个XML文件中定义的视图。
上面定义有两点引起了我的注意:简单、静态数据。我想知道设计人员在设计这个适配器的时候为什么把它叫做简单适配器,简单这个形容词描述的是什么属性?静态数据的意思是只能绑定已经赋具体值的数据吗?通过对SimpleAdapter的使用演绎也许能得到答案。
数据适配器的使用步骤:
- 新建数据适配器
- 添加数据源到适配器
- 视图加载适配器
首先要了解新建SimpleAdapter涉及到的参数:
构造函数的参数列表及含义:
context: 上下文
data: 数据源, 类型为Map组成的List集合,每一个Map对应ListView中的一个Item,Map中的所有String类型的key组成的一个字符串数组就是参数from,key的作用就是与item关联起来。
resource: item的布局文件,其中至少要有参数to数组中的所有视图
from: 将被添加到与每个Item相关联的映射的列名称列表,data参数中Map的String类型键名组成的字符串数组
to: 显示与from数组对应数据的视图ID,这些视图都存在于resource指定的Item布局文件中
Item布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imv"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="70dp"
android:background="#6523"/>
<TextView
android:id="@+id/cont"
android:layout_width="0dp"
android:layout_weight="4"
android:layout_height="70dp"
android:background="#66e21157"/>
</LinearLayout>
MainActivity.java文件代码如下:
package com.example.listview;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;