如何解决illegalstate循环依赖关系不能存在于relativelayout中?

时间:2015-03-02 18:22:16

标签: android xml layout

我的布局出现异常错误。我在谷歌搜索但没有找到合适的解决方案。

我的布局:

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="3dp"
android:paddingLeft="12dp"
android:paddingRight="15dp"
android:paddingTop="3dp" >

 <RelativeLayout
    android:id="@+id/round_cell_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/music_cell"
    android:layout_toRightOf="@+id/relative_cell_view"
    android:gravity="center_vertical"
    android:orientation="vertical">


<com.mdotbuz.support.RoundCornerImage
    android:id="@+id/grid_item_image"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_centerVertical="true"
    android:layout_marginRight="5dp"
    android:scaleType="fitXY"
    android:src="@drawable/music"/>

</RelativeLayout>

 <RelativeLayout
    android:id="@+id/relative_cell_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@+id/music_cell"
    android:gravity="center_vertical"
    android:orientation="vertical">

    <TextView
        android:id="@+id/item_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="30dp"
        android:ellipsize="end"
        android:singleLine="true"
        android:textColor="@color/white"
        android:textSize="14sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/item_info"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="30dp"
        android:ellipsize="end"
        android:singleLine="true"
        android:textColor="@color/scondary_color"
        android:textSize="12sp" />
</RelativeLayout>

<RelativeLayout
android:id="@+id/music_cell" 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/image_cell"
android:background="#ff44cc"
android:orientation="horizontal">        
   <ImageView
    android:id="@+id/play_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dp"
    android:layout_toLeftOf="@+id/favourite"
    android:visibility="gone"
    android:padding="5dp"/>


 <ImageView
    android:id="@+id/favourite"
    android:layout_width="32dp"
    android:layout_height="32dp"
    android:layout_centerVertical="true"
    android:layout_marginRight="10dp"
    android:visibility="visible"
    android:padding="5dp"
    android:src="@drawable/white_arrow"/>

</RelativeLayout>  
  <RelativeLayout
      android:id="@+id/image_cell" 
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_toRightOf="@+id/music_cell"
      android:background="#ff44cc"
      android:orientation="horizontal">

   <ImageView
    android:id="@+id/iv_arrow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:paddingRight="10dp"
    android:src="@drawable/white_arrow" />

  <View
    android:id="@+id/view_arrow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:visibility="visible"
    android:background="#ff4455"
    android:layout_alignParentRight="true"
    android:paddingRight="10dp"/>

这是上面的xml布局,我已经为所有ui元素给出了正确的RelativeLayout但是不知道错误来自哪里? ,请通过它告诉我,一些解决方案。

2 个答案:

答案 0 :(得分:3)

这里有一个循环引用:

<RelativeLayout
    android:id="@+id/music_cell" 
    android:layout_toLeftOf="@+id/image_cell"

...
<RelativeLayout
    android:id="@+id/image_cell" 
    android:layout_toRightOf="@+id/music_cell"

image_cell位于music_cell左侧的image_cell右侧。您必须删除其中一个布局说明并锚定(如果还没有),即父级中的另一个单元格。

答案 1 :(得分:0)

第一个RelativeLayout和最后一个没有结束标记。最后Add </RelativeLayout>两次。