/ / Dynamicznie dodawaj widoki do ScrollView wewnątrz fragmentu - android, fragmenty androida, android-scrollview

Dynamicznie dodawaj widoki do ScrollView wewnątrz fragmentu - android, fragmenty androida, android-scrollview

Mam ten układ dla fragmentu, który musi zawierać widok przewijania i przycisk:

<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>

Teraz w pewnych warunkach (kiedy przycisk stanie się widoczny, a użytkownik kliknie na niego) dodam wewnątrz scrollView inne układy „catalog_row”. Jak mogę to zrobić programowo?

Odpowiedzi:

1 dla odpowiedzi № 1

Musisz podać identyfikator LinearLayout wewnątrz ScrollView, więc w kodzie będziesz:

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

a następnie po prostu:

l.addView(yourView);

Pamiętaj, że ScrollView może mieć tylko jedno dziecko, więc jeśli potrzebujesz innego układu, musisz skonfigurować układ nadrzędny, aby zawierał stary i nowy.

Mam nadzieję, że to pomoże.