0

当我试图查看我的图形布局时,错误日志中会出现此消息:

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

1 回答 1

0

这些是你的问题

  <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要在上面drinksdrinks要在下面sugar。您只能执行其中一项,否则它们将陷入无限循环。所以android:layout_below="@+id/sugar"drinks RadioGroup.

我还没有看到你是否在其他地方有这个,但如果你有,那么你也需要修复这些。您不能告诉 aView高于另一个,并告诉它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" />

你也有同样的事情发生在这里。您将需要从其中之一中删除abovebelow

于 2013-10-03T22:50:39.970 回答