mr. x
mr. x

Reputation: 101

android horizontal scroll view

i am beginner in android development and i am trying to create a horizontal scroll view that will contain different layouts.

the error that i am facing is : horozontal scroll view can only host one direct child. please advise thanks in advance

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tool"
        android:id="@+id/horizontalScrollView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fillViewport="true" >

         <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:background="#ff0000">

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:orientation="horizontal"
                android:background="#ff0000">

            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:orientation="horizontal"
                android:background="#00ff00">

            </LinearLayout>

        </LinearLayout>

    </HorizontalScrollView>

Upvotes: 9

Views: 24674

Answers (2)

prachi pathak
prachi pathak

Reputation: 1

Hi this error is because scrollview can host only on direcxt child . take a relative or linear layout and write all the layouts inside that

Upvotes: 0

Saurabh
Saurabh

Reputation: 121

Not only Horizontal but any vertical scrollview also will give this error. The error means that there should be only one child to a scrollview and that child can contain any number of sub childs.

So the bottom line is thios you should make only one direct child to scrollview and make your layout in that child only as

  <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tool"
    android:id="@+id/horizontalScrollView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true" >

     <LinearLayout

        android:id="@+id/directchild"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:background="#ff0000">

    </LinearLayout>

</HorizontalScrollView>

Now create your desired layout within directchild layout.You will not get any error then

Upvotes: 11

Related Questions