我有2个自定义ListView创建为项目布局+ ArrayAdapter +我自己的ListView类。
然后我在主布局中以其他方式使用此ListView:

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


此MyListViewFirst包含具有一个文本字段(在右侧)和另一个ListView的Layout1-内部的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中的所有项目?

例:

最佳答案

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

这不是您问题的答案,但我认为任何人都不会从实际答案中受益,因为您的设计实现效率极低,难以使用且违反Android设计准则。

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

10-05 23:55