当我试图查看我的图形布局时,错误日志中会显示此消息:
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 :(得分: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
高于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
。