开发问题及解决--java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout

Posted 天之骄子19

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发问题及解决--java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout相关的知识,希望对你有一定的参考价值。

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="wrap_content" >  
  5.   
  6.     <HorizontalScrollView  
  7.         android:layout_width="fill_parent"  
  8.         android:layout_height="wrap_content" >  
  9.   
  10.         <RelativeLayout  
  11.             android:layout_width="fill_parent"  
  12.             android:layout_height="fill_parent">  
  13.   
  14.             <TextView  
  15.                 android:id="@+id/textview1"  
  16.                 android:layout_width="wrap_content"  
  17.                 android:layout_height="wrap_content"  
  18.                 android:text="滚动视图"  
  19.                 android:textSize="30dp" />  
  20.   
  21.             <ImageView  
  22.                 android:id="@+id/imageview1"  
  23.                 android:layout_width="wrap_content"  
  24.                 android:layout_height="wrap_content"  
  25.                 android:layout_toRightOf="@id/textview1"  
  26.                 android:src="@drawable/item1" />  
  27.   
  28.             <TextView  
  29.                 android:id="@+id/textview2"  
  30.                 android:layout_width="wrap_content"  
  31.                 android:layout_height="wrap_content"  
  32.                 android:layout_toRightOf="@id/imageview1"  
  33.                 android:text="垂直和水平滚动"  
  34.                 android:textSize="30dp" />  
  35.   
  36.             <ImageView  
  37.                 <span style="color:#ff6666;">android:id="@+id/imageview2"  
  38. </span>                android:layout_width="wrap_content"  
  39.                 android:layout_height="wrap_content"  
  40.                 android:layout_below="@id/textview1"  
  41.                 android:src="@drawable/item2" />  
  42.   
  43.             <TextView  
  44.                 android:id="@+id/textview3"  
  45.                 android:layout_width="wrap_content"  
  46.                 android:layout_height="wrap_content"  
  47.                 android:layout_below="@id/imageview2"  
  48.                 android:text="垂直和水平滚动"  
  49.                 android:textSize="30dp" />  
  50.   
  51.             <ImageView  
  52.                <span style="color:#ff6666;"android:id="@+id/imageview2"</span>  
  53.                 android:layout_width="wrap_content"  
  54.                 android:layout_height="wrap_content"  
  55.                 android:layout_below="@id/textview3"  
  56.                 android:src="@drawable/item3" />  
  57.         </RelativeLayout>  
  58.     </HorizontalScrollView>  
  59.   
  60. </ScrollView>  

爆出了这样的异常,java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout。

原因就是在RelativeLayout布局中重现了重复的view ID名称,且出现 imageview2 ,textview3,imageview2出现了循环依赖。

解决方案: 将最后一个ImageView的id修改成 imageview3.  避免在RelativeLayout中控件循环依赖。

 

实质是:1的位置依赖相对于2  2的位置又依赖相对于1 但这两相对位置产生了矛盾。

以上是关于开发问题及解决--java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout的主要内容,如果未能解决你的问题,请参考以下文章

Java开发遇到的问题及解决方案

二.JSP开发过程中遇到的问题及解决

ANDROID开发之问题积累及解决方案

java开发中遇到的问题及解决方法(持续更新)

开发板刷系统---遇见问题及解决

开发中遇到的问题及解决方案