본문 바로가기
안드로이드

[Kotlin] 코틀린 익스텐션 사용하기 (kotlin-android-extensions)

by 디지털노마더 2021. 1. 20.

Java 언어로 안드로이드 개발을 진행하다보면, Layout (.xml 파일)에 선언한 Button, TextView, ImageView 등등에 대해서 활용하기 위해서 findViewById()를 수없이 많이 쓰게 된다.

 

개발자로서 반복적인 작업을 계속하는 비효율적인 구조..

 

이를 개선하기 위해서 ViewBinding(뷰바인딩)이라는 개념이 있다.

 

* ViewBinding이란?

뷰 바인딩(View Binding) 은 뷰와 상호 작용하는 코드를보다 쉽게 ​​작성할 수있는 기능입니다.

각 XML 레이아웃 파일에 대한 바인딩 클래스가 자동으로 생성됩니다. 바인딩 클래스 인스턴스에는 해당 레이아웃에 ID가 있는 모든 뷰에 대해 직접적으로 참조됩니다.

 

* ViewBinding 설정하기

  build.gradle (app) 파일에 아래 내용을 추가 (Android Stuiod 3.6 이상부터 사용 가능)

android {
    ...
    viewBinding {
        enabled = true
    }
}

 

결합 클래스를 생성하는 동안 레이아웃 파일을 무시하려면 

tools:viewBindingIgnore="true" 속성을 레이아웃 파일의 루트 뷰에 추가하세요.

<LinearLayout
            ...
            tools:viewBindingIgnore="true" >
        ...
    </LinearLayout>
    

 

하지만 코틀린의 경우 .kt 파일 내에서 레이아웃 요소의 id를 바로 호출을 시도할 때 보이지 않는 경우가 있습니다.

 

이럴 때는 build.gradle (app) 파일 내에 plugins 속성 정보를 확인합니다.

 추가할 속성은  ☞ id 'kotlin-android-extensions'

plugins {
    ...
    id 'kotlin-android-extensions'
}

 

이는 Android Studio 4.1 버전부터 New Project 생성 시, 기본 플러그인으로 제공하던 apply plugin: ‘kotlin-android-extensions’이 제거되고, 기본 ‘com.android.application’과 ‘kotlin-android’ 만 남게 되었다.

 

 

* 참조링크

 안드로이드 ViewBinding 설명 (공식 홈페이지)

 

댓글