2015-03-02 54 views
0

我在佈局中遇到了一個不尋常的錯誤。我在谷歌搜索,但沒有真正找到適當的解決方案。如何解決illegalstateexception循環依賴不能在relativelayout中存在?

我的佈局:

<?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佈局,我已經給適當的RelativeLayout的所有UI元素,但不知道,那裏的錯誤到底是什麼? ,所以請通過它,讓我知道,一些解決方案。

+0

一些id元素應該出現使用該ID之前,視圖不應被彼此相關....'<視圖id =「廠景」 toLeftOf =「視圖2」 /><視圖id =「視圖2」 toRightOf =「view1」/>'<=顯然你有這樣的事情...... – Selvin 2015-03-02 18:37:38

回答

0

第一RelativeLayout,最後一個沒有關閉標籤。 Add </RelativeLayout>結束兩次。

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到是到image_cell左側的music_cell的權利。您必須移除其中一個佈局指令並錨定(如果您還沒有)父級中的其他單元。

相關問題