뷰 바인딩(view binding)은 레이아웃 XML의 view component에 접근하는 object를 반환받아 view에 접근하는 방식이다.
android {
{ ... }
buildFeatures {
viewBinding = true
}
}
module 수준의 gradle 파일에서 위와 같이 선언한다.이렇게 하면 레이아웃 XML 파일에 등록된 뷰 객체를 포함하는 클래스가 자동으로 만들어진다.
type도 알아서, fidnViewById에서 발생할 수 있는 null도 발생하지 않는다.(null-safety)
xml 전체를 감싸는 최상단의 부모를 root 라는 property로 제공한다.
따라서 이 속성은 setContentView의 인자로 넘겨주어 쉽게 사용할 수 있다.
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)