动态地将视图添加到片段内的ScrollView

时间:2014-04-16 09:07:42

标签: android android-fragments android-scrollview

我有一个片段的布局,必须包含一个scrollview和一个按钮:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="10dp" >

<ScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <include
            android:id="@+id/row1"
            android:layout_width="fill_parent"
            layout="@layout/catalog_row" />

        <View
            android:layout_width="match_parent"
            android:layout_height="20dip"
            android:alpha="0"
            android:background="#FFFFFF" />

        <include
            android:id="@+id/row2"
            android:layout_width="fill_parent"
            layout="@layout/catalog_row" />

        <View
            android:layout_width="match_parent"
            android:layout_height="20dip"
            android:alpha="0"
            android:background="#FFFFFF" />

        <include
            android:id="@+id/row3"
            android:layout_width="fill_parent"
            layout="@layout/catalog_row" />

        <View
            android:layout_width="match_parent"
            android:layout_height="20dip"
            android:alpha="0"
            android:background="#FFFFFF" />

        <include
            android:id="@+id/row4"
            android:layout_width="fill_parent"
            layout="@layout/catalog_row" />

        <View
            android:layout_width="match_parent"
            android:layout_height="20dip"
            android:alpha="0"
            android:background="#FFFFFF" />
    </LinearLayout>
</ScrollView>

<Button
    android:id="@+id/more_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:text="more"
    android:visibility="invisible" />

</RelativeLayout>

现在在某些条件下(当按钮变为可见,用户点击它时)我会在scrollView中添加其他“catalog_row”布局。 我该如何以编程方式完成?

1 个答案:

答案 0 :(得分:1)

您必须为ScrollView中的LinearLayout提供ID,因此在代码中您将:

LinearLayout l = (LinearLayout) findViewById(R.id.yourID);

然后简单地说:

l.addView(yourView);

请记住,ScrollView只能有一个子项,因此如果您需要另一个布局,则必须设置父布局以包含旧布局。

希望它有所帮助。