以编程方式包含多个布局

时间:2014-04-25 10:12:43

标签: android android-layout

我有LinearLayout这样:

<LinearLayout
                android:id="@+id/llFunction1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="6dp" />

另外2 RelativeLayouts如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rlCatering"
    android:layout_width="@dimen/linksbtn_width"
    android:layout_height="@dimen/linksbtn_height"
    android:layout_marginLeft="8dp"
    android:background="?attr/selector_button_common" >

    <TextView
        android:id="@+id/tvCatering"
        style="@style/tvLinks"
        android:text="@string/landing_home_lists_catering" />

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/rldd"
    android:layout_width="@dimen/linksbtn_width"
    android:layout_height="@dimen/linksbtn_height"
    android:layout_marginLeft="8dp"
    android:background="?attr/selector_button_common" >

    <TextView
        android:id="@+id/tvdd"
        style="@style/tvLinks"
        android:text="@string/landing_home_lists_dd" />

</RelativeLayout>

现在尝试使用以下方法在第一个RelativeLayouts中包含这两个LinearLayout

llFunction1 = (LinearLayout) view.findViewById(R.id.llFunction1);
rlCatering = (RelativeLayout) View.inflate(getActivity().getBaseContext(), R.layout.inc_layout_tabcontent_links_catering, null);
llFunction1.addView(rlCatering);
rlDD = (RelativeLayout) View.inflate(getActivity().getBaseContext(), R.layout.inc_layout_tabcontent_links_dd, null);
llFunction1.addView(rlDD);

但它只包括第一个。如果我直接包含在XML中它可以正常工作。只有在我以编程方式添加时才会出现问题。

1 个答案:

答案 0 :(得分:-1)

将此添加到您的LinearLayout中,它会将布局名称包含在您的LinearLayout中。

<include layout="@layout/*name*/>