0

我尝试使用 include 标记在横向模式下重用来自 activity_main.xml 和 contact_details.xml 的布局代码。我想在左侧显示activity_main,在右侧显示contact_details。但是当我切换到横向模式时,应用程序崩溃了。

这是 activity_main.xml 的编码

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

<ListView
    android:id="@+id/list_data"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1" />

<Button
    android:id="@+id/btnAddContact"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:layout_weight="0"
    android:text="Add Contact" />

</LinearLayout>

这是contact_details.xml 的编码

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

    <ListView
        android:id="@+id/lvContactDetails"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

这是我的 layout-land/activity_main.xml 的编码

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

<include layout="@layout/activity_main"/>
<View
    android:layout_width="1dp"
    android:layout_height="fill_parent"
    android:background="#A3A3A3"/>

<include layout="@layout/contact_details"/>

</LinearLayout>

解决此问题的任何提示?提前致谢。

4

2 回答 2

2

感谢阿迪尼亚的建议。这是因为我不应该回调相同的 Layout 名称,即 activity_main.xml。这是坠机的主要原因。正如 Adinia 所说,它可能是一个循环引用。再次感谢。顺便说一句,我只能在 2 天内接受我的回答。

于 2013-04-01T12:49:47.067 回答
0

在您使用的 activity_main.xml 、contact_details.xml

android:layout_width="fill_parent"

而是尝试使用

android:layout_width="wrap_content"

如果不发布您的 logcat 报告

于 2013-04-01T12:40:49.950 回答