게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
안드로이드 setLayoutParams 시 ClassCastExcepti
게시물ID : programmer_11753짧은주소 복사하기
작성자 : 허늬
추천 : 0
조회수 : 201회
댓글수 : 3개
등록시간 : 2015/06/30 15:29:00
LinearLayout이나 RelativeLayout 등에 setLayoutParams 하기 위해 LayoutParams 객체를 만들 때, 각 객체의 부모클래스에 맞는 놈을 생성해서 넣어야지만 ClassCastException이 발생하지 않는 것까지는 제가 잘 알겠습니다.

그런데 이걸 API화 시키기가 쉽지 않네요.


public class LayoutUtil {
public static void setFillParent(ViewGroup viewGroup, View view)
{
view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
}
}


위와 같은 클래스가 있고

@Override
protected void onResume() {
RelativeLayout testLayout = (RelativeLayout) findViewById(R.id.testLayout);
Button testButton = (Button) findViewById(R.id.testButton);
LayoutUtil.setFillParent(testLayout, testButton);
}

위와 같이 사용하려 하면, 어김없이 ClassCastException이 등장합니다.
viewGroup.getClass() 를 해서 class별로 switch-case 실행해 주는 것도 이상해보이고..

해결 방법이 없나요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호