linearlayout中的linearlayout +按钮工作正常但按钮+ linearlayout没有

时间:2012-05-29 13:37:51

标签: android android-layout android-linearlayout

我想更改列表项按钮的位置,在我将按钮移动到我希望模拟器给我一个错误的位置之后..所以有人可以告诉我为什么这段代码工作正常:

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/messages_list_item"
android:layout_height="wrap_content" 
android:gravity="left|center"
android:layout_width="fill_parent" >

<Button
android:id="@+id/send_message_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/send" />

<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/destination"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"/>
    <TextView android:id="@+id/message_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>

如果我像这样将Button元素移到底部:

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/messages_list_item"
android:layout_height="wrap_content" 
android:gravity="left|center"
android:layout_width="fill_parent" >

<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/destination"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"/>
    <TextView android:id="@+id/message_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/>
</LinearLayout>

<Button
android:id="@+id/send_message_button"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="@string/send" />
</LinearLayout>

它无法在模拟器上启动?

这是我的活动视图:

layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/base_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/messages_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

</LinearLayout>

我错过了什么?

2 个答案:

答案 0 :(得分:1)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/messages_list_item"
android:layout_height="wrap_content" 
android:gravity="left|center"
android:layout_width="fill_parent" >

<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <TextView android:id="@+id/destination"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"/>
    <TextView android:id="@+id/message_text" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/>
</LinearLayout>

<Button
android:id="@+id/send_message_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/send" />

</LinearLayout>

<Button
android:id="@+id/send_message_button"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="@string/send" />
</LinearLayout>

在第二个xml中,我认为你将最后6行加倍...所以你关闭了太多的LinearLayout。

答案 1 :(得分:1)

您应该看到list_item.xml文件。您将Button的代码写入时间并关闭</LinearLayout>一次。我认为它会在list_item.xml

中出错