2016-11-03 3 views
-1

Я новый разработчик Android. Когда я запускаю свое приложение, я получил эту ошибку: «рендеринг проблем Исключение, возникающее во время рендеринга: круговые зависимости не могут существовать в RelativeLayout (подробности)» Может ли кто-нибудь помочь мне с моим XML-кодом? Почему я получил ошибку круговых зависимостей?Циркулярные зависимости для XML

<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:background="@drawable/gradient" > 

    <View android:id="@+id/box3" 
     android:layout_width="290dp" 
     android:layout_height="match_parent" 
     android:background="#80000000" 
     android:alpha="0.3" 
     android:paddingBottom="10dp" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/relativeLayout" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true"> 

     <View android:id="@+id/rectangle_at_the_top" 
      android:layout_width="match_parent" 
      android:layout_height="45dp" 
      android:visibility="visible" 
      android:background="@color/gold" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_marginTop="30dp" 
      android:id="@+id/radioButtons" 
      android:layout_marginLeft="50dp" 
      android:layout_centerInParent="true"> 


     </RelativeLayout> 



     <Button 
      android:typeface ="sans" 
      android:background="@drawable/roundcornor_button" 
      android:layout_width="300dp" 
      android:textAllCaps="false" 
      android:layout_height="wrap_content" 
      android:text="Submit" 
      android:textColor="@color/black" 
      android:id="@+id/submitButton" 
      android:backgroundTint="@color/gold" 
      android:textSize="20dp" 
      android:layout_below="@+id/radioGroup" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="31dp" /> 


     <Button 
      android:text="" 
      android:layout_height="50dp" 
      android:layout_width="127dp" 
      android:id="@+id/button6" 
      android:textSize="6pt" 
      android:textColor="@color/white" 
      android:background="#545454" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 
     <Button 
      android:text="" 
      android:layout_height="50dp" 
      android:layout_width="127dp" 
      android:id="@+id/budgetbutton" 
      android:textColor="@color/white" 
      android:background="#545454" 
      android:layout_alignParentBottom="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 
     <Button 
      android:layout_weight=".30" 
      android:text="Sign Up" 
      android:layout_height="50dp" 
      android:layout_width="125dp" 
      android:id="@+id/middlebutton" 
      android:background="#545454" 
      android:textColor="@color/white" 
      android:layout_alignParentBottom="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginBottom="56dp" /> 
     <RadioGroup 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/radioGroup" 
      android:layout_marginBottom="67dp" 
      android:layout_above="@+id/submitButton" 
      android:layout_alignLeft="@+id/radioButtons" 
      android:layout_alignStart="@+id/radioButtons"> 

      <RadioButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/fivePercent" 
       android:text="Yes" 
       android:textSize="25dp" 
       android:checked="false" 
       android:textColor="@color/white" 
       android:buttonTint="@color/white" /> 

      <RadioButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@id/somewhat" 
       android:text="Somewhat" 
       android:textSize="25dp" 
       android:layout_below="@+id/fivePercent" 
       android:layout_marginTop="35dp" 
       android:textColor="@color/white" 
       android:buttonTint="@color/white"/> 

      <RadioButton 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/tenPercent" 
       android:text="No" 
       android:textSize="25dp" 
       android:layout_below="@+id/fivePercent" 
       android:layout_marginTop="35dp" 
       android:textColor="@color/white" 
       android:buttonTint="@color/white"/> 

     </RadioGroup> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Are" 
      android:textSize="33dp" 
      android:textColor="@color/white" 
      android:gravity="center" 
      android:id="@+id/question" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginTop="84dp" 
      android:fontFamily="sans-serif-light" /> 
    </RelativeLayout> 
</RelativeLayout> 
+0

У вас есть только это искушение? –

ответ

0
<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_marginTop="30dp" 
    android:id="@+id/radioButtons" 
    android:layout_marginLeft="50dp" 
    android:layout_centerInParent="true"> 


</RelativeLayout> 

Вы android:layout_alignParentLeft="true" и android:layout_centerInParent="true" вместе, и они конфликтуют друг с другом

Вы хотите android:layout_centerHorizontal="true" вместо этого?

Кроме того, исходя из названия этого RelativeLayout, похоже, что вы хотели поместить радиокнопки в этот макет. так что вы можете захотеть сделать

... 
<RelativeLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentLeft="true" 
android:layout_marginTop="30dp" 
android:id="@+id/radioButtons" 
android:layout_marginLeft="50dp" 
android:layout_centerHorizontal="true"> 

    <Button 
     android:typeface ="sans" 
     android:background="@drawable/roundcornor_button" 
     android:layout_width="300dp" 
     android:textAllCaps="false" 
     android:layout_height="wrap_content" 
     android:text="Submit" 
     android:textColor="@color/black" 
     android:id="@+id/submitButton" 
     android:backgroundTint="@color/gold" 
     android:textSize="20dp" 
     android:layout_below="@+id/radioGroup" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="31dp" /> 


    <Button 
     android:text="" 
     android:layout_height="50dp" 
     android:layout_width="127dp" 
     android:id="@+id/button6" 
     android:textSize="6pt" 
     android:textColor="@color/white" 
     android:background="#545454" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" /> 

    <Button 
     android:text="" 
     android:layout_height="50dp" 
     android:layout_width="127dp" 
     android:id="@+id/budgetbutton" 
     android:textColor="@color/white" 
     android:background="#545454" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" /> 

    <Button 
     android:layout_weight=".30" 
     android:text="Sign Up" 
     android:layout_height="50dp" 
     android:layout_width="125dp" 
     android:id="@+id/middlebutton" 
     android:background="#545454" 
     android:textColor="@color/white" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginBottom="56dp" /> 

    <RadioGroup 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/radioGroup" 
     android:layout_marginBottom="67dp" 
     android:layout_above="@+id/submitButton" 
     android:layout_alignLeft="@+id/radioButtons" 
     android:layout_alignStart="@+id/radioButtons"> 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/fivePercent" 
      android:text="Yes" 
      android:textSize="25dp" 
      android:checked="false" 
      android:textColor="@color/white" 
      android:buttonTint="@color/white" /> 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@id/somewhat" 
      android:text="Somewhat" 
      android:textSize="25dp" 
      android:layout_below="@+id/fivePercent" 
      android:layout_marginTop="35dp" 
      android:textColor="@color/white" 
      android:buttonTint="@color/white"/> 

     <RadioButton 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/tenPercent" 
      android:text="No" 
      android:textSize="25dp" 
      android:layout_below="@+id/fivePercent" 
      android:layout_marginTop="35dp" 
      android:textColor="@color/white" 
      android:buttonTint="@color/white"/> 

    </RadioGroup> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Are" 
     android:textSize="33dp" 
     android:textColor="@color/white" 
     android:gravity="center" 
     android:id="@+id/question" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="84dp" 
     android:fontFamily="sans-serif-light" /> 

</RelativeLayout> 

С другой стороны, вы можете использовать только

android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 
android:layout_alignParentRight="true" 
android:layout_alignParentEnd="true" 

, который вы использовали для <View> ТЕЧЕНИЕ RelativeLayout

+0

'alignParentLeft' не является зависимостью' centerInParent'. Эти конфликты, но не должны приводить к заявленной ошибке –

+0

Woot Я пропустил отношения radioGroup и submitButton. Примите ответ Шахбаза –

1

Похоже, есть циклическая ссылка в коде XML ,

Кнопка, имеющий идентификатор submitButton относится к radioGroup в android:layout_below="@+id/radioGroup" и radioGroup относится к submitButton в android:layout_above="@+id/submitButton".

Удалите любой из них, и вы готовы к работе.

Смежные вопросы