【发布时间】:2016-05-14 05:57:41
【问题描述】:
我一直在尝试在 SO 和 Google 上搜索一段时间,但不能完全正确。我有一个带有与之关联的 customadapter 的 ListView。在这个 ListView 的布局中,我有另一个 ListView(也有它自己的 customadapter),其中只有 0 到 4 个项目。
外部/第一个列表视图中的行高需要根据内部/嵌套列表视图中的行数来扩展和收缩,但是这不会发生。它只会在留给自己的设备时显示一行。
我一直在随机分配带有layout_height:0 和layout_weight:1 的各种LinearLayouts 和ListViews,同时改变match_parent 与wrap_content 的值,但无济于事。
我知道这是一个简单的修复,但无法确定布局中的哪个元素需要哪些参数。我也不想以编程方式执行此操作。它应该只需要布局属性的正确组合。
提前致谢。
OUTER ListView 的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp">
<TextView
android:id="@+id/tvDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#ffdddd">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ddffdd"
>
<ListView
android:id="@+id/lvInnerListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#eeeeee">
<TextView
android:id="@+id/tvSomeOtherText"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
内部/嵌套列表视图的布局文件
<?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"
android:background="#ddddff">
<TextView
android:id="@+id/tvText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvText4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tvText5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
片段本身的布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Title" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Get Values"
android:id="@+id/btnGetValues"
android:layout_marginTop="24dp"
android:layout_marginBottom="24dp"
android:padding="12dp"
android:textColor="#ffffff"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Response from server"
android:id="@+id/tvResponse"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/lvOuterListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
【问题讨论】:
标签: java android android-layout listview android-studio