Когда я пытаюсь взглянуть на свой графический макет, в журнале ошибок появляется это сообщение:

activity_main.xml: циклические зависимости не могут существовать в RelativeLayout.

Как мне исправить это, чтобы мой код работал правильно? Я изменил alignParentLeft и установил для них значение true. Я также возился с align_above и align_below, что не помогло. Я не уверен, в чем моя проблема.

Вот мой код:

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >


         <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginTop="57dp"
            android:text="Number of cups" />

        <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/textView1"
            android:layout_marginRight="23dp"
            android:layout_toRightOf="@+id/textView1"
            android:ems="10"
            android:inputType="number" >

            <requestFocus />
        </EditText>

          <CheckBox
            android:id="@+id/go"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/cream"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="20dp"
            android:text="To Go" />



        <CheckBox
            android:id="@+id/cream"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/sugar"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="15dp"
            android:text="Leave room for cream" />

        <CheckBox
            android:id="@+id/sugar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/drinks"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="22dp"
            android:text="Leave room for sugar" />

        <RadioGroup
            android:id="@+id/drinks"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/sugar"
            android:layout_above="@+id/flavoring"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true" >

            <RadioButton
                android:id="@+id/coffee"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Coffee($2.50)" />

            <RadioButton
                android:id="@+id/cappuccino"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:checked="true"
                android:text="Cappucino($4.50)" />

            <RadioButton
                android:id="@+id/espresso"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Espresso($4.50)" />

            <RadioButton
                android:id="@+id/latte"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Latte($4.50)" />

            <RadioButton
                android:id="@+id/iced_latte"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Iced Latte($5.00)" />
        </RadioGroup>



        <TextView
            android:id="@+id/flavoring"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/chocolate"
            android:layout_alignParentLeft="true"
            android:layout_marginTop="57dp"
            android:text="Flavoring" />

         <CheckBox
            android:id="@+id/chocolate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/cherry"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="22dp"
            android:text="Chocolate" />

          <CheckBox
            android:id="@+id/cherry"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_above="@+id/vanilla"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="22dp"
            android:text="Cherry" />

           <CheckBox
            android:id="@+id/vanilla"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/cherry"
            android:layout_alignParentLeft="true"
            android:layout_marginBottom="22dp"
            android:text="Vanilla" />

    <ScrollView
            android:id="@+id/ScrollView01"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignLeft="@+id/editText1"
            android:layout_alignParentBottom="true" >


        </ScrollView>


    </RelativeLayout>
0
user2844612 4 Окт 2013 в 02:46

1 ответ

Лучший ответ

Это твои проблемы

  <CheckBox
        android:id="@+id/sugar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/drinks"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="22dp"
        android:text="Leave room for sugar" />

    <RadioGroup
        android:id="@+id/drinks"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/sugar"
        android:layout_above="@+id/flavoring"
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true" >

Вы говорите sugar быть выше drinks, а drinks быть ниже sugar. Вы можете сделать только одно из них, иначе они войдут в бесконечный круг. Так что удалите android:layout_below="@+id/sugar" из drinks RadioGroup.

Я пока не вижу, есть ли у вас это где-нибудь еще, но если есть, вам также нужно будет исправить это. Вы не можете сказать View, что он находится над другим, и сказать, что View находится ниже того же View ... то же самое с левым и правым.

Правка нашла еще одну

 <CheckBox
        android:id="@+id/cherry"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/vanilla"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="22dp"
        android:text="Cherry" />

       <CheckBox
        android:id="@+id/vanilla"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/cherry"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="22dp"
        android:text="Vanilla" />

Здесь происходит то же самое. Вам нужно будет удалить above или below с одного из них.

0
codeMagic 4 Окт 2013 в 03:06
Спасибо за скорость. Я удалил это из своего кода, но сообщение об ошибке все еще существует. Может быть проблема с флажками?
 – 
user2844612
4 Окт 2013 в 03:01
Спасибо, сэр. Это исправило мой код. Я буду остерегаться тех, кто меня сбивает.
 – 
user2844612
4 Окт 2013 в 03:10
Это не обязательно below, но это below и above на Views, которые ссылаются друг на друга.
 – 
codeMagic
4 Окт 2013 в 03:11
Ааа, в любом случае я обращу больше внимания.
 – 
user2844612
4 Окт 2013 в 05:12