【问题标题】:Circular dependencies cannot exist in RelativeLayout?RelativeLayout 中不能存在循环依赖?
【发布时间】:2015-05-26 10:45:37
【问题描述】:

渲染期间引发异常:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在窗口 > 显示视图 > 错误日志中 渲染期间引发异常:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在 Window > Show View > Error LogException 在渲染期间引发:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在窗口 > 显示视图 > 错误日志中

块引用

<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"
tools:context="${relativePackage}.${activityClass}" 
android:id="@+id/layout">


<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="19dp"
    android:background="@drawable/gradient_style"
    android:gravity="center"
    android:text="@string/accelerometer_text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="61dp"
    android:text="@string/x_axis"
    android:background="@drawable/gradient_xyz"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/x_axis"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/textView2"
    android:layout_alignParentEnd="true"
    android:layout_marginStart="18dp"
    android:layout_toEndOf="@+id/textView2"
    android:background="#f00"
    android:text=""
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#00f" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/textView2"
    android:layout_marginTop="27dp"
    android:layout_toStartOf="@+id/y_axis"
    android:background="@drawable/gradient_xyz"
    android:text="@string/y_axis"
    android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
    android:id="@+id/y_axis"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView4"
    android:layout_alignStart="@+id/x_axis"
    android:layout_alignParentEnd="true"
    android:background="#0f0"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#f00" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignEnd="@+id/textView3"
    android:layout_below="@+id/textView3"
    android:layout_marginTop="33dp"
    android:background="@drawable/gradient_xyz"
    android:text="@string/z_axis"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/z_axis"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView4"
    android:layout_alignBottom="@+id/textView4"
    android:layout_alignStart="@+id/y_axis"
    android:layout_alignParentEnd="true"
    android:background="#00f"
    android:text=""
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#0f0" />

【问题讨论】:

  • 循环引用应该永远发生。

标签: android layout error-handling circular-dependency


【解决方案1】:

你不应该在视图之间添加循环依赖-

从你的代码中删除一行 -

remove - `android:layout_above="@+id/textView4"`

从下面看 -

<TextView
android:id="@+id/y_axis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textView4"
android:layout_alignStart="@+id/x_axis"
android:layout_alignParentEnd="true"
android:background="#0f0"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#f00" />

【讨论】:

    【解决方案2】:

    相对布局中的循环引用不允许或无效。

    例如,当视图 B 是 layout_below 视图 A 时,视图 A 不能再在其下方引用视图 B、alignRight 等。这也可以存在于多个视图之间:A 引用 B 引用 C。在那种情况下 C 不能由于循环依赖而引用 A。

    在此处获取更多详细信息..

    Exception raised during rendering: Circular dependencies cannot exist in RelativeLayout Exception details are logged in Window > Show View > Error Log

    【讨论】:

      【解决方案3】:

      问题是你的对齐方式模棱两可,换句话说,在你的 .xml 中的某个地方,你告诉编译器用相互矛盾的布局做两件事。你告诉y_axis TextView 要高于 textView4,同时你要告诉textView4低于 textView3。这两个都不正确,因此正在创建循环依赖,其中一个需要更改。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-07
        • 2015-11-18
        • 2017-09-04
        • 1970-01-01
        • 1970-01-01
        • 2017-08-14
        • 1970-01-01
        相关资源
        最近更新 更多