将元素添加到ListView会使用RelativeLayout将其扩展到其他元素下方

时间:2012-10-22 15:14:28

标签: android android-listview xml-layout

在我的活动中,我有一个ListView,它有一个ArrayAdapter作为其适配器,并动态更新。我正在使用RelativeLayout。首先,ListView是空的,但我可以看到,与我添加之前相比,它占用了屏幕上的空间。只要添加了一个元素,它就会被展开并显示该元素。一旦我添加第二个元素,我只看到第二个元素的顶部,然后它在消息文本元素下面。我该如何解决这个问题?

<Button
    android:id="@+id/btnAddAttachment"
    android:layout_marginTop="7dp"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_below="@id/sprType"
    android:text="Add attachment"/>

<!--ATTACHMENTS LIST-->
<ListView
    android:id="@+id/lstAttachments"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/btnAddAttachment">
</ListView>

<!-- MESSAGE TEXT -->
<EditText
    android:id="@+id/txtMessage"
    android:layout_width="fill_parent"
    android:layout_height="150dp"
    android:layout_below="@id/lstAttachments"
    android:layout_marginTop="7dp"
    android:lines="10"
    android:maxLines="10"
    android:maxLength="500"
    android:hint="Message text"
    android:gravity="top|left"/>   

1 个答案:

答案 0 :(得分:0)

android:layout_height的{​​{1}}值是多少?

尝试将RelativeLayout更改为:

ListView

并对包含它的android:layout_height="fill_parent" 执行相同操作。

然后,您可以将其下方的RelativeLayoutEditText的底部对齐,并确保列表视图为ListView <{1}}