ListView与SimpleAdapter实现图文列表项

本文介绍了如何在Android中使用ListView和SimpleAdapter实现图文列表项。通过定义ListView的XML布局,创建列表项模板,设置数据源,以及指定适配器参数,实现了将图片和文本结合展示在ListView中的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ListView实现图文列表:

使用SimpleAdapter建立自定义的列表项:

simpleAdapter 可以用来实现任何我们自己定义的布局。可以使用其实现任何我们自己定义的布局,但是其不能够对内部进行操作,因为 List<Map<String, Object>> list

因为其是通过List ,Map 进项操作的,其内部是封装好的我们只能用其完成数据的填放。

实现图文共现需完成如下步骤:

1:首先我们必须定义一个ListView 让其显示我们需要加载的信息,

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >

    <ListView

        android:id="@+id/listView4"

        android:layout_width="match_parent"

        android:layout_height="wrap_content" >

    </ListView>

</LinearLayout>

然后定义一个列表项的模板 (就是在List的每一个Item中显示的内容样式)

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:gravity="center"

    android:orientation="horizontal" >

    <ImageView

        android:id="@+id/imageView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:src="@drawable/ic_launcher" />

    <TextView

        android:id="@+id/textView1"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="TextView" />

 

</LinearLayout>

在主Activity文件中完成 数据源,适配器,等内容。

 SimpleAdapter(context, data, resource, from, to);

对于SimpleAdapter 其共有五个参数,第一个参数为上下文, 第二个参数为数据源,第三个参数为承载每一个ListViewItem的模板布局文件。第四个参数为对应关系,对应的map中的那个键值(key)。第五个参数:对应map中数据(values)要显示的信息所对应的的组件(也就是这些组件将显示values)。

Map<String, Object> item1 = new HashMap<String, Object>();

使用Map 存放ListView中每一列的数据,通过put()方法存放相应的键值对。

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

使用List存放多个Map的信息, 然后通过数据适配器将其呈现在ListView

代码如下:

public class MyActivity4 extends Activity {

private ListView lv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main4);

lv = (ListView) findViewById(R.id.listView4);

Map<String, Object> item1 = new HashMap<String, Object>();

item1.put("image", R.drawable.ic_launcher);

item1.put("name""小黑");

Map<String, Object> item2 = new HashMap<String, Object>();

item2.put("image", R.drawable.ic_launcher);

item2.put("name""小白");

Map<String, Object> item3 = new HashMap<String, Object>();

item3.put("image", R.drawable.ic_launcher);

item3.put("name""小黄");

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

list.add(item1);

list.add(item2);

list.add(item3);

SimpleAdapter sa = new SimpleAdapter(this, list, R.layout.main4_item,

new String[] { "image""name" }, new int[] { R.id.imageView1,

R.id.textView1 });

lv.setAdapter(sa);

}

}

在模拟器上运行如下显示:

 

这样就通过Listview完成图文列表项。

好的,我可以为您解答这个问题。 ListView 是一种常用的 Android 控件,可以用于展示一系列数据。SimpleAdapter 是一种适配器,可以将数据绑定到 ListView 上。 下面是实现列表项的步骤: 1. 准备数据 首先需要准备数据。一般来说,数据可以是一个 List<Map<String, Object>>,其中每个 Map 对应一个列表项,Map 中的键值对表示列表项的属性,比如标题、图片等。例如: ``` List<Map<String, Object>> data = new ArrayList<>(); Map<String, Object> item1 = new HashMap<>(); item1.put("title", "标题1"); item1.put("image", R.drawable.icon1); data.add(item1); Map<String, Object> item2 = new HashMap<>(); item2.put("title", "标题2"); item2.put("image", R.drawable.icon2); data.add(item2); ``` 2. 创建 SimpleAdapter 接下来需要创建 SimpleAdapter,将数据绑定到 ListView 上。SimpleAdapter 的构造函数需要传入以下参数: - Context:上下文对象。 - data:数据源。 - resource:列表项的布局文件。 - from:数据源中 Map 的键名数组,表示要绑定到哪些视图上。 - to:列表项布局文件中视图的 ID 数组,表示要绑定到哪些视图上。 例如: ``` SimpleAdapter adapter = new SimpleAdapter( this, // 上下文对象 data, // 数据源 R.layout.list_item, // 列表项布局文件 new String[] { "title", "image" }, // 数据源中 Map 的键名数组 new int[] { R.id.title, R.id.image } // 列表项布局文件中视图的 ID 数组 ); ``` 3. 设置 Adapter 最后需要将 Adapter 设置到 ListView 上。例如: ``` ListView listView = findViewById(R.id.list_view); listView.setAdapter(adapter); ``` 这样就完成了列表项实现。当然,还可以对列表项进行一些定制化,比如添加点击事件等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值