Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why am I getting a CircularDependencyException?

Hey I am trying to make a notification for my file uploading notification. This is my XML: but it keeps giving me the error: Circular dependencies cannot exist in RelativeLayout. What am I doing wrong? I dont see anything wrong with it? I was also trying to make it look similar to the browser downloader

<?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>
like image 707
arberb Avatar asked Dec 17 '22 03:12

arberb


1 Answers

RelativeLayout "left" is trying to lay itself out based on the location of RelativeLayout "right". This cannot be done, because as the exception says, it's circular. How can you park a car based on the parking of another car if that car is still moving?

Based on your xml file, I recommend you use LinearLayouts. There really isn't anything that you are doing here that can't be solved with two LL's and the parent RelativeLayout.

like image 198
ahodder Avatar answered Jan 12 '23 19:01

ahodder