• java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout


    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/ItemIntr"
        android:layout_toRightOf="@+id/ItemImage"
        android:layout_below="@+id/ItemTitle"
        android:layout_above="@+id/ItemText"
        android:textSize="20sp"/>

    出现错误java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
    经查找发现,是相对布局不支持这种依赖方式(为了清晰,我仅列出了出错的控件,控件间的关系间文末附上的正确代码)

    于是,将android:layout_above="@+id/ItemText"删掉,程序正确运行

    但是,将 android:layout_below="@+id/ItemTitle"删掉,程序依旧报此错误。

    思考了一下,所谓“依赖循环”:

    声明A的时候:A在B上面

    声明B的时候:B在A下面

    这就造成了所谓循环依赖,计算机无法识别你的布局要求,导致程序出现错误。

    解释程序不报错,循环依赖是没必要的,同时也会使程序变得非常复杂,所以在以后自己开发程序的时候一定要注意这一点。

    下面是正确的代码:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="fill_parent" android:layout_width="fill_parent">
    <ImageView
        android:layout_alignParentLeft="true" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/ItemImage"/>
    <TextView
        android:id="@+id/ItemTitle"
        android:layout_toRightOf="@+id/ItemImage"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:textSize="20sp"/>
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/ItemIntr"
        android:layout_toRightOf="@+id/ItemImage"
        android:layout_below="@+id/ItemTitle"
        android:textSize="20sp"/>
    <TextView
        android:id="@+id/ItemText"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_toRightOf="@+id/ItemImage"
        android:layout_below="@+id/ItemIntr"/>
     </RelativeLayout>
  • 相关阅读:
    日常开发常用工具(持续更新中,欢迎小伙伴评论中分享自己认为好用的工具)
    使用 POJO 对象绑定请求参数
    Tomcat+Eclipse乱码问题解决方法
    微信客服接口发消息 -- 微信客服系列文章(一)
    @RequestParam--SpringMVC 注解系列文章(一)
    微信JS图片上传与下载功能--微信JS系列文章(三)
    微信JS分享功能--微信JS系列文章(二)
    微信JS初始化--微信JS系列文章(一)
    二十进制数的加法
    使用NuGet管理项目类库引用
  • 原文地址:https://www.cnblogs.com/yueyanglou/p/4377806.html
Copyright © 2020-2023  润新知