RelativeLayout 中不能存在循环依赖?

问题描述 投票:0回答:3

渲染期间引发异常:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在“窗口”>“显示视图”>“错误日志”中 渲染期间引发异常:RelativeLayout 中不能存在循环依赖项 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常:RelativeLayout 中不能存在循环依赖项”中 异常详细信息记录在“窗口”>“显示视图”>“渲染期间引发的错误日志异常: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
3个回答
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" />

0
投票

问题是你的对齐方式不明确,换句话说,在你的 .xml 中的某个地方,你告诉编译器用相互矛盾的布局做两件事。您告诉

y_axis
TextView 位于 above
textView4
,同时您还告诉
textView4
位于 below
textView3
。这两者都不成立,因此正在创建循环依赖关系,其中之一需要更改。


0
投票

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

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

从这里获取更多详细信息:

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

© www.soinside.com 2019 - 2024. All rights reserved.