为什么在布局中更改片段的位置会导致我的应用崩溃?

时间:2013-01-06 20:26:33

标签: android android-layout android-fragments

我的应用程序只有两个按钮和一个加载ListFragment的空间。当按钮被定义为位于布局的顶部时,app会根据需要运行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0px"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/displayfragment1"
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:text="@string/button_fragment1" />
        <Button
            android:id="@+id/displayfragment2"
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:text="@string/button_fragment2" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/myfragment"
        android:layout_width="match_parent"
        android:layout_weight="5"
        android:layout_height="0px" />
</LinearLayout>

然而,当我将片段布局移动到按钮上方时,如下所示,应用程序在启动时崩溃。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/myfragment"
        android:layout_width="match_parent"
        android:layout_weight="5"
        android:layout_height="0px" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="0px"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/displayfragment1"
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:text="@string/button_fragment1" />
        <Button
            android:id="@+id/displayfragment2"
            android:layout_height="match_parent"
            android:layout_width="wrap_content"
            android:text="@string/button_fragment2" />
    </LinearLayout>       

</LinearLayout>

这是我造成这次崩溃的唯一变化,所以我认为这一定是问题吗?

1 个答案:

答案 0 :(得分:2)

在更改涉及R的内容(特别是布局内容)后,请务必记住清理项目(项目 - &gt;清理)。有时Eclipse会“忘记”修改R以反映更改(或修改错误,因为这里似乎是问题)并出现奇怪的问题。