코틀린(Kotlin)/TIL

[코틀린(Kotlin)] 뷰바인딩(ViewBinding)

초보왕보초 2024. 1. 5. 15:55
728x90

뷰 바인딩(ViewBinding)

findViewById를 대체하기 위해서 나왔다고 한다

모듈에서 사용 설정된 뷰 바인딩은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성한다

 

 

1. 우선 뷰바인딩을 쓰기 위해선 gradle 설정부터 해야 한다

android{}에 해당 코드를 추가해 준다

 

 

2. Activity의 코드를 수정해 준다

뷰바인딩을 사용할 Activity에서 해당 코드를 추가해 준다

(9, 14, 15, 17 라인)

 

번외) gradle, activity 코드

1. 코드를 위 코드로 적어도 됨

 

2. 코드를 위 코드로 적어도 됨

 

 

결과

두 방법 모두 결과는 똑같다

 

 

findViewById와 차이점

  • NullSafe
    직접 참조를 생성하므로 유효하지 않은 뷰 ID로 인해 null 포인터 예외가 발생할 위험이 없다
  • Type safety
    각 바인딩 클래스에 있는 필드의 유형이 XML 파일에서 참조하는 뷰와 일치한다
728x90