44

У меня есть несколько LinearLayout с общей высотой, которая легко превышает высоту экрана устройства. Так что для того, чтобы сделать мой макет прокручивать, я попытался добавить в ScrollView, но, к сожалению, я получаю следующее сообщение об ошибке:Scrollview может принимать только один прямой ребенок

Scrollview can host only one direct child

Я сделал некоторые исследования, но не мог понять, как ее решить, даже после прочтения нескольких решений. Я попробовал несколько изменений, но пока ничего не работало. Любая помощь?

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

ответ

137

Wrap все дети внутри другого LinearLayout с wrap_content как для ширины и высоты, а также вертикальной ориентации.

+0

Это правильный путь. –

+0

Большое вам спасибо! Сможете ли вы взглянуть на другой вопрос? [link] (http://stackoverflow.com/questions/16679518/cant-save-audio-to-phone-using-media-player-in-eclipse) – user2407147

+3

Я ответил на другой вопрос, не забудьте принять ответы с большой проверкой, чтобы мы знали, что ответили на ваш вопрос. –

Смежные вопросы

 Смежные вопросы