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)
이런 오류가.자꾸만뜹니다..
체크박스/이미지/텍스트뷰...
동적구성 한거구요...
아휴..
체크박스/이미지 ..잘라서 따로 붙이니깐.보이고..
텍스튜영역도 마찬가지로 따로 잘라내니깐 보입니다..
근데 두개.같이 보이게 할려니깐...오류가 자꾸나네요..
위치.아무리봐도...중첩되고 그런건 없는거같은데ㅡ.ㅡ;;



