Scrollview can host only one direct child
134,281
Wrap all the children inside of another LinearLayout with wrap_content
for both the width and the height as well as the vertical orientation.
Related videos on Youtube
Author by
user2407147
Updated on May 19, 2020Comments
-
user2407147 almost 4 years
I have multiple
LinearLayout
s with a combined height that easily exceeds a device's screen height. So in order to make my layout scrollable, I tried adding in aScrollView
, but unfortunately I get the following error:Scrollview can host only one direct child
I did some research, but couldn't really make sense of how to solve it, even after reading a couple of solutions. I tried a few changes, but nothing worked for me so far. Any help?
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingTop="20dip"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 1" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q1_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 2" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q2_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 3" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q3_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 4" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q4_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 5" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q5_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 6" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q6_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 7" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q7_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 8" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q8_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 9" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q9_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 10" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q10_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 11" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q11_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 12" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q12_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 13" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q13_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 14" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q14_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 15" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q15_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 16" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q16_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 17" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q17_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 18" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q18_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 19" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q19_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Question 20" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/q20_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="" android:gravity="center"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="Score:" android:paddingBottom="20dip" android:gravity="center" /> <TextView android:id="@+id/final_score" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="0/5" android:gravity="center"/> </LinearLayout> </LinearLayout> </ScrollView>
-
VIISHRUT MAVANII about 3 yearsSolution: stackoverflow.com/a/55175944/6676310
-
Pravin Desai almost 3 yearsScrollview should have only one child (ViewGroup), inside that you can add multiple views.
-
-
Marko Lazić almost 11 yearsThis is a correct way to go.
-
user2407147 almost 11 yearsThank you so much! Would you be able to take a look at another question of mine? link
-
Justin Breitfeller almost 11 yearsI answered your other question, don't forget to accept answers with the big check so we know we have answered your question.
-
maracuja-juice over 6 yearsDoes this also work with Constraint Layout nowadays?