提问者:小点点

滚动视图只能有一个子Android XML 文件


所以,我想在我的布局上有一个滚动视图。我这样做了,得到了一个滚动视图只能有一个孩子

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="95dip"
        android:layout_marginRight="5dip"
        android:layout_marginTop="10dip"
        android:text="Latitude: "
        android:textSize="15dip" >

    </TextView>

    <TextView
        android:id="@+id/TextView02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip"
        android:text="unknown"
        android:textSize="15dip" >

    </TextView>
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/TextView03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="90dip"
        android:layout_marginRight="5dip"
        android:text="Longitute: "
        android:textSize="15dip" >
    </TextView>

    <TextView
        android:id="@+id/TextView04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="unknown"
        android:textSize="15dip" >
    </TextView>
</LinearLayout>

<Button
    android:id="@+id/button1"
    android:layout_width="130dip"
    android:layout_height="30dip"
    android:layout_marginLeft="95dip"
    android:layout_marginTop="10dip"
    android:text="Find Coordinates"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextName"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:layout_marginTop="20dip"
    android:ems="10"
    android:hint="Enter Location Name"
    android:textSize="10dip" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editTextPhone"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:layout_marginTop="0dip"
    android:ems="10"
    android:hint="Enter Phone Number"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextEmail"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:ems="10"
    android:hint="Enter Email"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextDesc"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:ems="10"
    android:hint="Enter Description"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextFlowers"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dip"
    android:hint="Flowers"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextPlants"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="180dip"
    android:layout_marginTop="-35dip"
    android:hint="Plants"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextFruit"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dip"
    android:hint="Fruit"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextVeggies"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="180dip"
    android:layout_marginTop="-35dip"
    android:hint="Veggies"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextSun"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="115dip"
    android:ems="10"
    android:hint="Sunday"
    android:textSize="10dip" />

<Button
    android:id="@+id/saveLocation"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="90dip"
    android:layout_marginTop="10dip"
    android:text="Save Location" />

<Button
    android:id="@+id/seeAll"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="120dip"
    android:text="See all" />

</ScrollView> 

然后,按照这个问题的答案

java.lang.IllegalStateException:ScrollView只能承载一个直接子级

我是这样做的:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="95dip"
        android:layout_marginRight="5dip"
        android:layout_marginTop="10dip"
        android:text="Latitude: "
        android:textSize="15dip" >

    </TextView>

    <TextView
        android:id="@+id/TextView02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip"
        android:text="unknown"
        android:textSize="15dip" >

    </TextView>
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation = "vertical" >

    <TextView
        android:id="@+id/TextView03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="90dip"
        android:layout_marginRight="5dip"
        android:text="Longitute: "
        android:textSize="15dip" >
    </TextView>

    <TextView
        android:id="@+id/TextView04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="unknown"
        android:textSize="15dip" >
    </TextView>
</LinearLayout>

<Button
    android:id="@+id/button1"
    android:layout_width="130dip"
    android:layout_height="30dip"
    android:layout_marginLeft="95dip"
    android:layout_marginTop="10dip"
    android:text="Find Coordinates"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextName"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:layout_marginTop="20dip"
    android:ems="10"
    android:hint="Enter Location Name"
    android:textSize="10dip" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editTextPhone"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:layout_marginTop="0dip"
    android:ems="10"
    android:hint="Enter Phone Number"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextEmail"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:ems="10"
    android:hint="Enter Email"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextDesc"
    android:layout_width="264dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dip"
    android:ems="10"
    android:hint="Enter Description"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextFlowers"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dip"
    android:hint="Flowers"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextPlants"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="180dip"
    android:layout_marginTop="-35dip"
    android:hint="Plants"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextFruit"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dip"
    android:hint="Fruit"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextVeggies"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="180dip"
    android:layout_marginTop="-35dip"
    android:hint="Veggies"
    android:ems="10"
    android:textSize="10dip" />

<EditText
    android:id="@+id/editTextSun"
    android:layout_width="90dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="115dip"
    android:ems="10"
    android:hint="Sunday"
    android:textSize="10dip" />

<Button
    android:id="@+id/saveLocation"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="90dip"
    android:layout_marginTop="10dip"
    android:text="Save Location" />

<Button
    android:id="@+id/seeAll"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="120dip"
    android:text="See all" />

</ScrollView> 

但仍然没有运气。有什么想法吗?谢谢


共1个答案

匿名用户

这里的关键是

ScrollView只能承载一个直接子级

“直接”是关键词。所以你可以拥有

<ScrollView
    ...>
    <LinearLayout>
       ....
       <!-- you can have as many Views in here as you want -->
    </LinearLayout>
</ScrollView>

因此,上面示例中的LinearLayout将是您的一个直接子级。该子级可以拥有任意数量的子级。这意味着您可以在第一个子级中拥有所有其他LinearLayout。但是您不能在同一层次结构级别上拥有多个。