[안드로이드] setId() 함수 사용시 주의 사항..

안드로이드에 코딩을 할 때 View의 setId() 함수를 사용하는 경우가 있습니다.

문제는 xml 에 android:id 값을 설정해 놓은 상태에서 setId 를 사용하는 경우입니다.

setId 를 사용했다면 나중에 findViewById 함수를 사용하는 경우에 xml 에 있는 android:id 값으로 검색해도 null 이 리턴되게 됩니다. 그렇기 때문에 setId 에서 지정한 Id 값으로 findViewById 를 해야 정상적으로 View를 얻어올 수 다는 것을 주의해야합니다.

아래는 샘플 코드입니다.

[important]View item = inTitle.inflate(R.layout.group_view, null);
View mainView = item.findViewById(R.id.main_layout);
mainView.setId(10);
View testView = item.findViewById(R.id.main_layout); // NULL 값을 리턴한다.[/important]

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다