Why am I getting a CircularDependencyException?

后端 未结 3 1365
慢半拍i
慢半拍i 2020-12-19 16:12

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 RelativeLa

相关标签:
3条回答
  • 2020-12-19 16:23

    You try to refer two layouts each other in your layout. A part of codes shows as below,

    <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>
    

    It will occur circular dependency exception.

    How to fix?

    Set gravity type of one layout, Other layout refers this.

    For this case, remove android:layout_toRightOf="@+id/left"

    Because default layout gravity is left, then remove this line. It will be fine.

    Have fun @.@

    0 讨论(0)
  • 2020-12-19 16:25

    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.

    0 讨论(0)
  • 2020-12-19 16:28

    Remove the line android:layout_toLeftOf="@+id/right". You are declaring left to be to the left of right, and then right to be to the right of left. Its a circular dependency because it does not know which element to lay out first.

    0 讨论(0)
提交回复
热议问题