안드로이드 ViewBinding
은 안드로이드에서 사용되는 바인딩 기술 중 하나로, XML 레이아웃 파일의 뷰와 액티비티 또는 프래그먼트와의 바인딩을 쉽게 수행할 수 있도록 도와준다. ViewBinding
을 사용하면 findViewById()
메서드를 사용하지 않고도 XML 레이아웃 파일에 정의된 뷰에 접근할 수 있다.
ViewBinding
을 사용하면 코드의 가독성과 유지보수성이 향상되며, 런타임에 발생할 수 있는 findViewById() 관련 오류을 예방할 수 있다. 또한, 뷰의 ID 변경 시 컴파일 시점에서 오류가 발생하여 문제를 더 쉽게 파악할 수 있다.
앱 수준의 build.gradle
파일에서 다음 코드를 추가하여 ViewBinding
을 활성화한다
viewBinding {
enabled = true
}
생성된 Viewbinding
객체에는 view의 id와 동일한 이름의 변수가 만들어지고 그 변수에는 view 객체가 들어있다
lateinit var activityMainBinding: ActivityMainBinding
액티비티나 프래그먼트에서 생성된 ViewBinding
클래스를 사용하여 뷰에 접근하고 조작한다. findViewById() 메서드를 사용하지 않고도 뷰를 참조할 수 있다.
// viewBinding 객체를 가져온다
// layoutInflater : XML 파일을 통해 객체를 생성하는 도구
activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
// viewbinding 객체가 관리하는 view 중에 최상위 view를 지정하여 화면에 나타나게한다
setContentView(activityMainBinding.root)
activityMainBinding.run {
button.run {
setOnClickListener {
activityMainBinding.textView.text = "ViewBInding 사용"
}
}
}