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)

 

 

이런 오류가.자꾸만뜹니다..

 

체크박스/이미지/텍스트뷰...

동적구성 한거구요...

 

아휴..

 

체크박스/이미지  ..잘라서 따로 붙이니깐.보이고..

 

텍스튜영역도 마찬가지로 따로 잘라내니깐 보입니다..

 

근데 두개.같이 보이게 할려니깐...오류가 자꾸나네요..

 

위치.아무리봐도...중첩되고 그런건 없는거같은데ㅡ.ㅡ;;