图形布局麻烦

时间:2013-10-03 22:46:09

标签: android eclipse layout

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

  

activity_main.xml:RelativeLayout中不存在循环依赖关系。

我将如何纠正这一问题,以便我的代码正常运行? 我在alignParentLeft附近进行了更改并将其设置为true。我也搞砸了没有帮助的align_abovealign_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>

1 个答案:

答案 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高于drinksdrinks高于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" />

你有同样的事情在这里发生。您需要从其中一个中移除abovebelow