📅  最后修改于: 2023-12-03 15:13:22.600000             🧑  作者: Mango
在Android中,我们可以使用SimpleAdapter
类来帮助我们把数据展示到ListView
或GridView
中。SimpleAdapter
提供了一个非常简单的方式来处理数据,可以使程序员在很短的时间内构建出一个非常好看的列表视图或者网格视图。同时,SimpleAdapter
也可以自定义视图的每一项,让你的程序拥有更多的个性化设置。
下面我们通过一个示例来介绍如何使用SimpleAdapter
。
在这个示例中,我们将使用一个SimpleAdapter
将一些字符串展示到ListView
中。具体来说,我们将从一个数组中获取到数据,并且在ListView
每一项中展示数据。
首先,在你的xml布局文件中定义一个ListView
:
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"/>
接下来的步骤是创建数据源。我们将使用一个ArrayList<>
来存储这些数据:
private ArrayList<HashMap<String, String>> dataList = new ArrayList<>();
在MainActivity
类中,还需要为ListView
设置一个适配器:
ListView listView = findViewById(R.id.list_view);
SimpleAdapter adapter = new SimpleAdapter(this, dataList, android.R.layout.simple_list_item_1, new String[]{"title"}, new int[]{android.R.id.text1});
listView.setAdapter(adapter);
现在,让我们来提供一些数据。我们将使用一个简单的数组来展示:
String[] dataArray = new String[]{"Apple", "Banana", "Cherry", "Durian", "Eggplant"};
for (int i = 0; i < dataArray.length; i++) {
HashMap<String, String> map = new HashMap<>();
map.put("title",dataArray[i]);
dataList.add(map);
}
我们通过循环给HashMap
对象赋值,每个hashmap将一个项的数据存储为<String, String>
的键值对。在这个示例中,我们只有一个键" title ",它作为适配器的数据类型。
最后,通过调用适配器的notifyDataSetChanged()
方法就可以把数据展示到ListView
中:
adapter.notifyDataSetChanged();
现在,当你运行这个程序时,你应该可以看到一个带有标题的列表。
这就是使用SimpleAdapter
的一个简单示例。如果你想让你的列表显示更多的由用户提供的数据,你还可以添加更多的键值对,可以让你实现你想象中更多的用户需求。尝试自己去完成这个示例,为你的Android应用程序添加一个好看的列表视图吧!