본문 바로가기

앱 개발/Kotlin_Android

ViewBinding

 뷰 바인딩(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