View preView = null; for(int i = 0, j = mArrSentence.size(); i < j; i++) { //문장 ArrayList<TextView>arrWord = mArrSentence.get(i); int lineWidth = 0; int x =0; //체크박스 CheckBox selectCb = new CheckBox(this); selectCb.setId(mCheckId++); RelativeLayout.LayoutParams cbParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); if(preView == null) { cbParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); }else{ cbParams.addRule(RelativeLayout.BELOW, preView.getId()); } cbParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); cbParams.leftMargin = 10; cbParams.topMargin = 5; mMainLayout.addView(selectCb , cbParams); //볼륨아이콘 ImageView mVolumeIv = new ImageView(this); mVolumeIv.setId(mCheckId++); mVolumeIv.setScaleType(ScaleType.FIT_XY); mVolumeIv.setBackgroundColor(Color.TRANSPARENT); mVolumeIv.setImageResource(R.drawable.img9); RelativeLayout.LayoutParams volParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); if(preView == null) { volParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); }else{ volParams.addRule(RelativeLayout.BELOW, preView.getId()); } volParams.addRule(RelativeLayout.RIGHT_OF, selectCb.getId()); volParams.addRule(RelativeLayout.ALIGN_TOP, selectCb.getId()); volParams.leftMargin = 10; volParams.topMargin = 12; mMainLayout.addView(mVolumeIv , volParams); preView = mVolumeIv; //단어 for(int m = 0 , n = arrWord.size(); m < n; m++) { TextView tvWord = arrWord.get(m); //텍스트 width Rect bounds = measureText(tvWord); int viewWidth = bounds.width() + gap; lineWidth += viewWidth; RelativeLayout.LayoutParams tvParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT , LayoutParams.WRAP_CONTENT); //처음만. if(preView == null) { Log.e("처음만","1"); tvParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); tvParams.addRule(RelativeLayout.RIGHT_OF , mVolumeIv.getId()); tvParams.addRule(RelativeLayout.ALIGN_TOP , mVolumeIv.getId()); }else { // 화면 넘으면 if(x == 0 || 1000 < lineWidth) { tvParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); tvParams.addRule(RelativeLayout.BELOW , preView.getId()); lineWidth = viewWidth; }else { tvParams.addRule(RelativeLayout.RIGHT_OF , preView.getId()); tvParams.addRule(RelativeLayout.ALIGN_TOP , preView.getId()); } } mMainLayout.addView(tvWord , tvParams); x = lineWidth; arrWord.add(tvWord); preView = tvWord; // 이전위치기억 } //단어끝 mArrSentence.add(arrWord); preView = tvWord; } //문장끝
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): FATAL EXCEPTION: main
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): java.lang.IllegalStateException: Circular dependencies cannot exist in RelativeLayout
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.RelativeLayout$DependencyGraph.getSortedViews(RelativeLayout.java:1272)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.RelativeLayout.sortChildren(RelativeLayout.java:281)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:303)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.View.measure(View.java:10577)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1090)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.ScrollView.onMeasure(ScrollView.java:314)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.View.measure(View.java:10577)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:581)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:365)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.View.measure(View.java:10577)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4270)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.View.measure(View.java:10577)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4270)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1284)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.LinearLayout.measureVertical(LinearLayout.java:613)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.LinearLayout.onMeasure(LinearLayout.java:519)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.View.measure(View.java:10577)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4270)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.widget.FrameLayout.onMeasure(FrameLayout.java:267)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:1876)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.View.measure(View.java:10577)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.ViewRoot.performTraversals(ViewRoot.java:885)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.view.ViewRoot.handleMessage(ViewRoot.java:1944)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.os.Handler.dispatchMessage(Handler.java:99)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.os.Looper.loop(Looper.java:126)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at android.app.ActivityThread.main(ActivityThread.java:3997)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at java.lang.reflect.Method.invokeNative(Native Method)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at java.lang.reflect.Method.invoke(Method.java:491)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
07-21 06:35:12.982: ERROR/AndroidRuntime(10781): at dalvik.system.NativeStart.main(Native Method)
이런 오류가.자꾸만뜹니다..
체크박스/이미지/텍스트뷰...
동적구성 한거구요...
아휴..
체크박스/이미지 ..잘라서 따로 붙이니깐.보이고..
텍스튜영역도 마찬가지로 따로 잘라내니깐 보입니다..
근데 두개.같이 보이게 할려니깐...오류가 자꾸나네요..
위치.아무리봐도...중첩되고 그런건 없는거같은데ㅡ.ㅡ;;