我目前正在尝试创建一个嵌套的ListView。
外部ListView包含项目,每个项目包含一个TextView,作为标题,另一个包含子项的ListView。
使用另一个嵌套的ListView适配器填充ListViews非常好用,但是,当涉及在设备上实际显示内容时,嵌套列表项不够高,无法显示所有子项。确切地说,只显示第一个嵌套列表项。
我目前的布局方法如下:
外单项目:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5px"
>
<TextView android:id="@+id/day"
android:textSize="14sp"
android:textStyle="bold"
android:textColor="#ff5e00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollHorizontally="false"/>
<ListView android:id="@+id/innerList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fadingEdge="none"
/>
</LinearLayout>
和内部列表布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="5px"
>
<TextView android:id="@+id/innertextview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollHorizontally="false"
android:singleLine="false"/>
</LinearLayout>
是否有机会以所有内部列表项目的显示方式调整外部列表项的大小?
我还查看了ExpandableListViews。这种方法有效,但我不希望列表项崩溃。
非常感谢, 的Matthias
答案 0 :(得分:1)
我真的不喜欢这个解决方案,所以我更多地研究了这个问题并找到了另一个解决方案:
ExpandableListView继承自ListView。它的作用是覆盖BaseAdapter中的getView方法,并区分子项和父项。它不是一个真正的嵌套列表,但它通过使用不同的布局项来展平列表。
创建NestedListView也可以这样做。从ListView继承并期望自己创建的适配器,它可以区分子布局项和父布局项。 对于每一个返回适当填充的布局项。
完成。
答案 1 :(得分:0)
您应该能够使ExpandableListView中的项目不可合并。这可能是你最好的选择。有关如何停用折叠的说明,请查看此SO Post。