View
들은 Class
로 제공되는데 모두 View 클래스로 상속 받는다.
findViewById()
메서드를 사용하지 않고도 XML 레이아웃 파일에서 정의한 뷰를 직접 참조한다// Android Studio 4.0 ~
buildFeature {
viewBinding = true
}
viewBinding {
enabled = true
}
class MainActivity : AppCompatActivity() {
lateinit var activityMainBinding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
setContentView(activityMainBinding.root)
}
}
ActivityMainBinding
은 안드로이드 스튜디오에서 자동으로 생성한 바인딩 클래스이다. 각 뷰 요소는 바인딩 클래스의 멤버 변수로 생성이 되고, XML에 정의된 id를 기반으로 뷰 요소들을 접근한다
inflate()
: XML 레이아웃 파일을 메모리에 로드하여 실제 뷰 객체로 인스턴스화한다. setContentView()
: 액티비티 화면을 구성하는 뷰를 설정한다.