¿Por qué recibo una CircularDependencyException?

Hola, estoy intentando hacer una notificación para la notificación de carga de mi archivo. Este es mi XML: pero sigue dándome el error: Las dependencias circulares no pueden existir en RelativeLayout. ¿Qué estoy haciendo mal? No veo nada malo con él? También estaba tratando de hacer que se vea similar al navegador de descarga

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/left" android:layout_toLeftOf="@+id/right"> <ImageView android:id="@+id/status_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" /> <TextView android:id="@+id/progress_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/status_icon" android:text="0%" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/right" android:layout_toRightOf="@+id/left"> <TextView android:id="@+id/status_text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" /> <ProgressBar android:id="@+id/status_progress" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/status_text" android:progressDrawable="@android:drawable/progress_horizontal" android:indeterminate="false" android:indeterminateOnly="false" /> </RelativeLayout> </RelativeLayout> 

RelativeLayout "left" está intentando establecerse en base a la ubicación de RelativeLayout "right". Esto no se puede hacer, porque como dice la excepción, es circular. ¿Cómo se puede aparcar un coche basado en el estacionamiento de otro coche si ese coche sigue en movimiento?

Sobre la base de su archivo xml, le recomiendo que utilice LinearLayout s. Realmente no hay nada que usted está haciendo aquí que no puede ser resuelto con dos LL y el Parent RelativeLayout.

Eliminar la línea android: layout_toLeftOf = "@ + id / right". Usted está declarando a la izquierda para estar a la izquierda de la derecha, y luego a la derecha para estar a la derecha de la izquierda. Es una dependencia circular porque no sabe cuál elemento diseñar primero.

Intenta referir dos diseños entre sí en tu diseño. Una parte de los códigos muestra como abajo,

 <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <RelativeLayout android:id="@+id/left" android:layout_toLeftOf="@+id/right" /> <RelativeLayout android:id="@+id/right" android:layout_toRightOf="@+id/left" /> </RelativeLayout> 

Se producirá excepción de dependencia circular.

¿Como arreglar?

Fije el tipo de la gravedad de una disposición, la otra disposición refiere esto.

Para este caso, quite android: layout_toRightOf = "@ + id / left"

Debido a que la gravedad de diseño por defecto es izquierda, a continuación, quite esta línea. Estará bien.

Que te diviertas @.@

  • El centro de gravedad RelayLayout no funciona
  • Uso de RelativeLayout dentro de ScrollView no se produce en desplazamiento
  • Cómo alinear 8 pequeños círculos alrededor de un círculo grande centrado, como muestra la imagen adjunta?
  • ¿Cómo obtengo el siguiente resultado utilizando RelativeLayout?
  • Disposición relativa de Android con pie de página pegajoso
  • Alinear la casilla de verificación dentro de un diseño relativo
  • Android RelativeLayout alinear preocupación
  • Encuentra la posición de un mapa de bits en la vista de imagen de Android cuando la vista de contenedor se escala centerInside
  • Cómo inflar RelativeLayout de XML
  • Disposiciones anidadas de Android
  • eliminar inmuebles extra de la parte superior del diálogo personalizado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.