listview的LvTags.setAdapter()如何加入public ArrayList<HashMap<String, String>> jList = new ArrayList<HashMap<String, String>>();
时间: 2023-07-09 17:15:36 浏览: 87
要将 `jList` 中的数据添加到 `ListView` 中,需要进行以下步骤:
1. 创建一个 `SimpleAdapter` 对象,将 `jList` 中的数据绑定到 `ListView` 的控件上。
```java
SimpleAdapter adapter = new SimpleAdapter(this,
jList, // 数据源
android.R.layout.simple_list_item_1, // 列表项布局文件
new String[] { "title" }, // 数据源中的字段名
new int[] { android.R.id.text1 }); // 列表项布局文件中的控件ID
```
2. 将 `adapter` 对象设置到 `ListView` 中。
```java
ListView LvTags = findViewById(R.id.lv_tags);
LvTags.setAdapter(adapter);
```
在上述代码中,`ListView` 的布局文件中应该包含一个 ID 为 `lv_tags` 的 `ListView` 控件,可以通过 `findViewById` 方法获取该控件对象。
`jList` 是一个 `ArrayList` 对象,其中包含多个 `HashMap` 元素,每个 `HashMap` 对象都包含多个键值对,表示列表项中显示的数据。在本示例中,`HashMap` 中只包含一个键值对,键为 `"title"`,值为列表项中显示的文本数据。
如果需要在列表项中显示多个数据,可以在 `HashMap` 中添加多个键值对,同时在 `SimpleAdapter` 构造函数的第四个和第五个参数中添加相应的数据源字段名和控件 ID。
示例代码如下:
```java
SimpleAdapter adapter = new SimpleAdapter(this,
jList, // 数据源
R.layout.list_item, // 列表项布局文件
new String[] { "title", "time" }, // 数据源中的字段名
new int[] { R.id.tv_title, R.id.tv_time }); // 列表项布局文件中的控件ID
```
在上述代码中,`list_item` 是自定义的列表项布局文件,其中包含两个用于显示数据的 `TextView` 控件,分别具有 ID 为 `tv_title` 和 `tv_time`。`SimpleAdapter` 对象的第四个参数为一个字符串数组,包含了两个字段名 `"title"` 和 `"time"`,分别对应 `jList` 中每个 `HashMap` 对象中的键名。第五个参数为一个整型数组,包含了两个控件 ID `R.id.tv_title` 和 `R.id.tv_time`,分别对应列表项布局文件中的两个 `TextView` 控件。
阅读全文