ArrayList<String>怎样用SimpleAdapter设置
时间: 2023-08-31 20:22:29 浏览: 83
### 回答1:
可以通过以下步骤使用SimpleAdapter设置ArrayList<String>:
1. 创建一个ArrayList<String>对象并添加一些字符串元素:
```java
ArrayList<String> stringList = new ArrayList<>();
stringList.add("Apple");
stringList.add("Banana");
stringList.add("Cherry");
```
2. 创建一个SimpleAdapter对象并设置它的数据源和布局:
```java
SimpleAdapter adapter = new SimpleAdapter(
this,
stringList,
android.R.layout.simple_list_item_1,
new String[] { "title" },
new int[] { android.R.id.text1 }
);
```
在这里,我们使用 `android.R.layout.simple_list_item_1` 作为布局,表示每个列表项只包含一个TextView。`new String[] { "title" }` 表示我们要绑定的数据源中每个元素的属性名,这里我们设置为 "title"。`new int[] { android.R.id.text1 }` 表示我们要将每个元素的 "title" 属性绑定到布局中的哪个控件上,这里我们绑定到TextView的android.R.id.text1上。
3. 将SimpleAdapter对象设置给ListView:
```java
ListView listView = findViewById(R.id.list_view);
listView.setAdapter(adapter);
```
这样就完成了将ArrayList<String>与SimpleAdapter设置的ListView绑定的操作。
### 回答2:
ArrayList<String>是一个字符串类型的集合,可以用来存储一组字符串数据。而SimpleAdapter是Android中的一个适配器类,用于将数据绑定到列表视图中。
要使用SimpleAdapter来设置ArrayList<String>,需要进行以下步骤:
1. 创建一个ArrayList<HashMap<String, String>>类型的列表数据集合,用于存储每一项的数据。每个HashMap代表一个列表项,其中键为数据的列名,值为对应的数据。
2. 遍历ArrayList<String>,将每个字符串数据存储到HashMap中,并将HashMap添加到列表数据集合中。
3. 创建一个字符串数组,用于存储列名。这些列名数组的顺序将决定列表项的显示顺序。
4. 构建SimpleAdapter对象,将列表数据集合、列表项布局、列名数组和显示控件组成的数组作为构造参数传入。
5. 将SimpleAdapter对象设置给你想要显示列表的ListView或GridView等控件。
示例代码如下:
```java
ArrayList<String> dataList = new ArrayList<>();
// 假设dataList已经被初始化并添加了一些字符串数据
ArrayList<HashMap<String, String>> listItem = new ArrayList<>();
for (String data : dataList) {
HashMap<String, String> item = new HashMap<>();
item.put("text", data);
listItem.add(item);
}
String[] from = {"text"};
int[] to = {R.id.textView};
SimpleAdapter adapter = new SimpleAdapter(this, listItem, R.layout.list_item_layout, from, to);
ListView listView = findViewById(R.id.listView);
listView.setAdapter(adapter);
```
在这个示例中,我们将ArrayList<String>的数据存储到了ArrayList<HashMap<String, String>>列表数据集合中,并使用SimpleAdapter将数据绑定到了一个ListView控件上。该ListView的每个列表项都是一个包含有一个TextView的布局文件,其中文本内容来自"from"数组指定的列名,显示在R.id.textView控件中。
阅读全文