1

嗨,我想在列表视图中显示两个项目。我知道我们可以通过以下方式做到这一点。 ArrayList<Map<String, String>> 但我需要与这两个项目一起显示一张图片。
这是我想要的图像。

在此处输入图像描述

我用一个图像视图和两个文本视图创建 xml 文件。我不明白该怎么做。

4

6 回答 6

2

您应该实现该类ArrayAdapter并创建自己的ListAdapter.

见:http ://www.vogella.com/articles/AndroidListView/article.html

于 2012-04-14T10:30:59.307 回答
1

您需要使用您的单元设计创建一个布局文件。在适配器中,然后您以编程方式从布局中获取一个视图,调用当前布局的 inflate 方法,并填充字段并返回它。

于 2012-04-14T10:32:07.063 回答
1

对我来说,这样做的方法是使用 BaseAdapter。您需要在活动上拥有列表视图,为项目布局提供一个 xml,然后在列表视图上使用适配器调用 setAdapter()。

您可以在此处找到一些信息: Android 中 Listview 上的延迟加载图像(初级)?

于 2012-04-14T11:20:27.893 回答
1

首先,您应该使用带有自己的对象的 ArrayList,例如

Class MyListeItem {

    String text1;
    String text2;
    String image;
}

List<MyListItem> = new ArrayList<MyListItem>();

然后创建一个扩展 BaseAdapter 的类来保存列表。创建一个 xml 文件,即。res/layouts 文件夹和 BaseAdapter 的 getView() 方法中的“my_listitem”执行类似

LinearLayout layout =  (LinearLayout)View.inflate(context, R.layout.my_listitem, null);
于 2012-04-14T11:21:28.443 回答
1

这是这样一个列表的实现:Contact-Picture-Sync

于 2012-04-14T11:14:12.127 回答
0

这是一个list itemxml 布局文件,您可以使用simplest attributes

<?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_vertical"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:orientation="horizontal"
    android:padding="16dp">

    <ImageView
        android:id="@+id/list_item_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"/>

    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:orientation="vertical"
        android:paddingLeft="16dp">

        <TextView
            android:id="@+id/list_item_date_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Tomorrow"/>

        <TextView
            android:id="@+id/list_item_forecast_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Clear"/>

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/list_item_high_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="25°"/>

        <TextView
            android:id="@+id/list_item_low_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="6°"/>
    </LinearLayout>

</LinearLayout>

这会像这样

在此处输入图像描述

你是最后一个符合你要求can remove的嵌套LinearLayout

这里是invisible boundaries 在此处输入图像描述

于 2016-02-27T15:40:51.020 回答