안드로이드 개발 질문/답변
(글 수 45,052)
RelativeLayout.LayoutParams tvParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
tvParams.addRule(RelativeLayout.RIGHT_OF, volumeIv.getId());
tvParams.addRule(RelativeLayout.RIGHT_OF, preTextView.getId());
tvParams.addRule(RelativeLayout.ALIGN_TOP, selectCb.getId());
tvParams.leftMargin = 5;
mainLayout.addView(textView,tvParams);
위와 같이 addview 를..한후.. 다시 파람을 다시 변경해야 하는데요..
아래와 같이 작성했습니다..
RelativeLayout.LayoutParams resetParams = (RelativeLayout.LayoutParams)mainLayout.getLayoutParams();
resetParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
mainLayout.setLayoutParams(resetParams);
런타임 익셉션이 젤 윗줄에서 런타임 익셉션이 뜹니다..




저 레이아웃 파라미터는 텍스트뷰의 것이지 메인 레이아웃의 것이 아니에요 그러니 클래스 캐스트 예외가 뜨는겁니다. 해당 텍스트뷰의 파라미터로 넣어주셔야 합니다.