user3396010
user3396010

Reputation: 3

ScrollView dos not work

Dear All experts I have problem with using scrollView anyone please help.. the Error is showing that the ScrollView is useless and also in other form of mine is shows the same , how can I solve this and how can I make my forms and activities been scroll ??

`

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="30dp"
    android:text="@string/welcome"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_gravity="center"
    android:layout_margin="30dp"
    android:contentDescription="@+id/button1"
    android:src="@drawable/ic_launcher" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="20dp"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/username"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="text" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/password"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPassword" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="30dp"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        style="android:buttonStyle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="goToMain"
        android:text="@string/log_in" />

    <Button
        android:id="@+id/button2"
        style="android:buttonStyle "
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:onClick="register"
        android:text="@string/registration" />
</LinearLayout>
</ScrollView>

`

Upvotes: 0

Views: 143

Answers (3)

ottse
ottse

Reputation: 749

"Scrollview can host only one direct child"

Put all your stuff in some Layout e.g LinearLayout

Upvotes: 0

Akshay Sharma
Akshay Sharma

Reputation: 418

You should put all the other fields in a single Layout.. Like linear layout,relative layout. Your whole code should look like this

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="30dp"
            android:text="@string/welcome"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_gravity="center"
            android:layout_margin="30dp"
            android:contentDescription="@+id/button1"
            android:src="@drawable/ic_launcher" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/username"
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="text" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/password"
                android:textAppearance="?android:attr/textAppearanceSmall" />

            <EditText
                android:id="@+id/editText2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPassword" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:orientation="vertical" >

            <Button
                android:id="@+id/button1"
                style="android:buttonStyle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:onClick="goToMain"
                android:text="@string/log_in" />

            <Button
                android:id="@+id/button2"
                style="android:buttonStyle "
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:onClick="register"
                android:text="@string/registration" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

Upvotes: 0

Blo
Blo

Reputation: 11978

You need a child container as LinearLayout, TableLayout or RelativeLayout in your ScrollView like this:

<ScrollView 
    ... >

    <LinearLayout
        ... >

        <!-- Your views: TextView, LinearLayout, etc. -->

    </LinearLayout>

</ScrollView>

According to the reference:

A ScrollView is a FrameLayout, meaning you should place one child in it containing the entire contents to scroll

Upvotes: 1

Related Questions