Android嵌套自定义ListView

时间:2012-05-13 17:48:09

标签: android android-layout android-listview

我有2个自定义ListView创建为项目布局+ ArrayAdapter +我自己的ListView类。 然后我在下一个主要布局中使用这个ListView:

<MyListViewFirst
        android:id="@+id/MyListView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

此MyListViewFirst包含Layout1,其中包含一个文本字段(在右侧),另一个包含ListView - MyListViewSecond:

<MyListViewSecond
        android:id="@+id/MyListView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="18" />

当我看到Layout1时,我的TextView和MyListViewSecond都适合页面,而不依赖于MyListViewSecond包含的行数。

但是当我在每个MyListViewFirst元素中查看我的主要布局时,TextView确实适合该项目,但MyListViewSecond不适合 - 它只显示几个元素。

看起来它与TextView高度对齐,我需要最大高度 - MyListViewSecond,所有内部项高度。

那么如何才能显示内部ListView中的所有项目?

实施例: enter image description here

1 个答案:

答案 0 :(得分:4)

你真的不应该将ListView放在另一个ListView内。它会给你带来糟糕的性能,对用户来说也不是一个好的解决方案 - 他们会觉得很难用。我建议您重新考虑您的设计并以更好的方式实现它,而不使用嵌套的ListViews

这不是您的问题的答案,但我认为任何人都不会从实际答案中获益,因为您的设计实施效率非常低,难以使用且违反Android设计指南。

也许您应该考虑查看ViewPager,看看您是否可以以某种方式更改您的设计以使用它。