뷰 바인딩(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
'앱 개발 > Kotlin_Android' 카테고리의 다른 글
Data & Business Logic (0) | 2024.04.18 |
---|---|
RecyclerView (0) | 2024.04.12 |
isEmpty(), isBlank() (0) | 2024.04.01 |
readline()!!.toInt() (0) | 2024.03.06 |
웹뷰, 웹앱 (0) | 2024.03.05 |