在android应用程序中保存一下错误:
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.RelativeLayout$DependencyGraph.getSortedViews(RelativeLayout.java:1286)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.RelativeLayout.sortChildren(RelativeLayout.java:292)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:314)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1370)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1018)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.LinearLayout.onMeasure(LinearLayout.java:556)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.HorizontalScrollView.measureChildWithMargins(HorizontalScrollView.java:1159)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.HorizontalScrollView.onMeasure(HorizontalScrollView.java:303)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1370)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.LinearLayout.measureVertical(LinearLayout.java:661)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.LinearLayout.onMeasure(LinearLayout.java:554)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4698)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.widget.FrameLayout.onMeasure(FrameLayout.java:293)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2115)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.View.measure(View.java:12733)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1069)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2447)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.os.Handler.dispatchMessage(Handler.java:99)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.os.Looper.loop(Looper.java:137)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at android.app.ActivityThread.main(ActivityThread.java:4439)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at java.lang.reflect.Method.invokeNative(Native Method)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at java.lang.reflect.Method.invoke(Method.java:511)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
11-16 13:07:38.560: ERROR/AndroidRuntime(13277): at dalvik.system.NativeStart.main(Native Method)
11-16 13:07:38.570: WARN/ActivityManager(302): Force finishing activity com.XX.XX/.TaskPersonActivity
11-16 13:07:38.600: VERBOSE/AudioHardwareMSM8660(135): ACDB ID Device ID=speaker_stereo_rx
错误的意思大概为:在相对不居中,不能循环(相互)的依赖,我的布局文件是这样写的:
。。。。。。。。。。。。
<LinearLayout
android:id="@+id/LinearLayout_line"
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_below="@id/tl_title"
android:background="@color/gray" >
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout_person"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:layout_below="@id/LinearLayout_line" android:background="#FFFFFF">
<ListView android:id="@+id/ListView_person"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:cacheColorHint="@null">
</ListView>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout_line"
android:layout_width="fill_parent" android:layout_height="5dip"
android:layout_below="@id/LinearLayout_person" android:background="@color/button_bg">
</LinearLayout>
。。。。。。。。。。
仔细一看 布局文件中,存在了两个id为LinearLayout_line的view,android:id="@+id/LinearLayout_person"的View设置了layout_below="@id/LinearLayout_line",而最下边的android:id="@+id/LinearLayout_line" 设置了layout_below="@id/LinearLayout_person",显然这样的布局是不可能的,view1设置在view2的下边,view2,设置在view1的下边,如果类似于循环的依赖在布局文件中显然是不可能的。所以有了以上错误,只需要将下边的android:id="@+id/LinearLayout_line"设置为android:id="@+id/LinearLayout_line11" 就OK了。
=====================================以上是针对我的错误情况进行说明,当然下边这个链接中的文章更简洁。