Может кто-нибудь объяснить, почему я не могу добавить дополнительную кнопку к этому ScrollView? - PullRequest
1 голос
/ 04 декабря 2011

Это не имеет смысла.У меня есть некоторый код с простым LinearLayout, и внутри него есть TextView и ScrollView, а внутри ScrollView есть кнопка.Хорошо, когда я добавляю вторую кнопку, я получаю сообщение об ошибке, в котором говорится, что у ScrollView может быть только один дочерний элемент.Баттон считается другим ребенком ???Я извиняюсь за свою глупость, если это действительно просто.Если кто-нибудь может помочь СПАСИБО!

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:duplicateParentState="false"
android:fadeScrollbars="true"
android:gravity="center"
android:isScrollContainer="true"
android:orientation="vertical"
android:scrollbars="vertical">
<TextView 
    android:text="Select category:"
    android:textStyle="italic"
    android:textColor="#000000"
    android:textSize="20dp"
    android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

<ScrollView
    android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fadingEdgeLength="100dp">

        <Button
            android:id="@+id/Food"
            android:layout_width="175dp"
            android:layout_height="65dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:background="@drawable/blackbutton"
            android:text="Food"
            android:textColor="#ffffff" />
        <Button
            android:id="@+id/Clothing"
            android:layout_width="175dp"
            android:layout_height="65dp"
            android:layout_gravity="center"
            android:gravity="center"
            android:background="@drawable/blackbutton"
            android:text="Clothing"
            android:textColor="#ffffff" />  
</ScrollView>
</LinearLayout>

Ответы [ 3 ]

2 голосов
/ 04 декабря 2011

Ваш ответ буквально содержится в документации ScrollView:

ScrollView - это FrameLayout, то есть вы должны поместить в него одного дочернего элемента, содержащего все содержимоепрокрутки;этот потомок сам может быть менеджером макета со сложной иерархией объектов.Дочерний элемент, который часто используется, - это LinearLayout в вертикальной ориентации, представляющий вертикальный массив элементов верхнего уровня, через которые пользователь может прокручивать.

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

0 голосов
/ 04 декабря 2011

поместите эти две кнопки в линейный или относительный макет .... и поместите этот макет в представление прокрутки. это должно решить проблему.

Представление прокрутки может иметь только один дочерний элемент управления ...

0 голосов
/ 04 декабря 2011

ScrollView должен иметь 1 ребенка. Поэтому поместите две кнопки в макет.

...