이번엔 안드로이드에서 밥먹듯이 많이 쓰는 LayoutInflater, setContentView에 대해 정리를 해보았습니다. 글이 두서없어도 이 점 양해부탁드립니다.
Inflate의 사전적 의미를 찾아보면 '부풀리다', '올리다'와 같은 뜻으로 해석이 됩니다. LayoutInflater도 그냥 단어자체를 해석해보면 Layout을 부풀리게 하는(?) 그런 뜻으로 해석할 수 있습니다.
그렇다면 LayoutInflater는 안드로이드에서 어떤 용도로 사용될까요? 안드로이드에서 이 LayoutInflater는 xml에 표기된 레이아웃들을 메모리에 로딩된 후 View 객체로 만들어 반환을 해줍니다. 아래 사진과 같이 말이죠.

사진에서는 activity_main.xml에서 startButton이라는 아이디로 정의된 Button을 객체로 만들어 화면에 반환(리턴)을 해주었습니다.
다음은 setContentView()입니다. 필자도 이 메소드를 정말 밥먹듯이 쓰는데 완전히 알지 못하고 썼던 것 같습니다. setContentView()는 onCreate() 함수 안에서 레이아웃을 인플레이팅 시켜주는 역할을 수행합니다.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
처음에 안드로이드 프로젝트를 생성한 뒤 MainActvitiy.kt 에 들어가보면 다음과 같은 onCreate() 함수를 볼 수 있습니다. 여기서 setContentView는 괄호 안에 들어있는 activity_main에 있는 레이아웃들을 인플레이팅 시켜준다고 보면 될 것 같습니다.
본 글을 필자가 공부한 것을 정리한 글이므로 정보가 정확하지 않을수도 있습니다. 제 글만 보지 마시고 공식 문서도 참고하고, 다른 글들도 참고하시면 좋겠습니다. 다음에는 더욱 더 좋은 글로 돌아오겠습니다. --(˙<>˙)/--