开发问题及解决--java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
Posted 天之骄子19
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开发问题及解决--java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout相关的知识,希望对你有一定的参考价值。
- <?xml version="1.0" encoding="utf-8"?>
- <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" >
- <HorizontalScrollView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" >
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TextView
- android:id="@+id/textview1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="滚动视图"
- android:textSize="30dp" />
- <ImageView
- android:id="@+id/imageview1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/textview1"
- android:src="@drawable/item1" />
- <TextView
- android:id="@+id/textview2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_toRightOf="@id/imageview1"
- android:text="垂直和水平滚动"
- android:textSize="30dp" />
- <ImageView
- <span style="color:#ff6666;">android:id="@+id/imageview2"
- </span> android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/textview1"
- android:src="@drawable/item2" />
- <TextView
- android:id="@+id/textview3"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/imageview2"
- android:text="垂直和水平滚动"
- android:textSize="30dp" />
- <ImageView
- <span style="color:#ff6666;"> android:id="@+id/imageview2"</span>
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/textview3"
- android:src="@drawable/item3" />
- </RelativeLayout>
- </HorizontalScrollView>
- </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的主要内容,如果未能解决你的问题,请参考以下文章