앱 개발/Kotlin_Android
ViewBinding
lionbae
2024. 4. 3. 15:52
뷰 바인딩(View Binding)은 XML 레이아웃 파일에 정의된 뷰들을 지원하기 위한 기술이다. XML 레이아웃에 정의된 각 뷰 요소들을 직접 객체로 참조할 수 있다.
findViewById() 메서드를 사용하여 뷰를 찾는 경우에는 뷰가 존재하지 않을 수 있어서 NullPointerException이 발생할 수 있다. 그러나 바인딩을 사용하면 @Nullable 어노테이션이 추가된 객체를 반환하므로 Null Safety가 보장된다. 또한 뷰 바인딩을 사용하면 XML 레이아웃에 정의된 각 뷰 요소들에 대한 객체가 자동으로 생성되므로 타입 안전성도 보장된다.
그리고 findViewById()는 레이아웃 내의 모든 뷰를 순회하면서 뷰를 찾아야 하므로 성능 저하를 일으킬 수 있다. 그러나 뷰 바인딩을 사용하면 객체가 미리 생성되어 있으므로 성능이 개선된다. 한편 XML 레이아웃에 정의된 각 뷰 요소들에 대한 객체를 직접 참조할 수 있으므로 코드가 더 간결해지고 가독성이 높아진다.
< 사용 예 >
binding = ActivityLogInBinding.inflate(layoutInflater)
setContentView(binding.root)
binding.btnBack.setOnClickListener {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}
binding.btnLogin.text = fun get()
binding.btnRegister.text = fun set()
728x90