【发布时间】:2011-11-06 12:13:37
【问题描述】:
我有一个由适配器呈现的带有自定义视图的 ListView。它包含一个图像、一些文本和另一个 ListView。在适配器的 getView 方法中,我创建了另一个适配器来设置嵌入式 ListView。
一切正常,但由于某种原因,嵌入式 ListView 的高度仅足以查看一个列表项。如果我手动将高度设置为像素,我可以在列表中看到更多项目。所有高度都设置为 wrap_content,所以我不确定它为什么不起作用。
我的第一个 ListView 是这样的:
<ListView
android:id="@+id/newswire"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:cacheColorHint="#ffffff"
/>
为此 ListView 呈现的项目:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
>
<ImageView
android:id="@+id/aggSparkAvatar"
android:layout_width="45dp"
android:layout_height="45dp"
android:scaleType="centerCrop"
/>
<LinearLayout
android:orientation="vertical"
android:paddingLeft="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/aggSparkName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#1B5F7C"
android:textStyle="bold"
/>
<TextView
android:id="@+id/aggSparkDateStamp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textStyle="bold"
/>
<View
android:layout_height="1dp"
android:layout_width="fill_parent"
android:background="#F2F2F2"
/>
<ListView
android:id="@+id/aggSparkList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:cacheColorHint="#ffffff"
/>
</LinearLayout>
</LinearLayout>
那么对于嵌入的 ListView,每个项目如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
>
<ImageView
android:id="@+id/sparkAvatar"
android:layout_width="45dp"
android:layout_height="45dp"
android:scaleType="centerCrop"
/>
<LinearLayout
android:orientation="vertical"
android:paddingLeft="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/sparkTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textStyle="bold"
/>
<TextView
android:id="@+id/sparkText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
/>
<TextView
android:id="@+id/sparkDateStamp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#A2A2A2"
/>
</LinearLayout>
</LinearLayout>
【问题讨论】:
标签: android android-layout android-listview