[Android] View Binding에 대해 알아보기

박현지·2021년 1월 26일
0

Android

목록 보기
1/1
post-thumbnail

View Binding이란?

뷰와 상호 작용하는 코드를 쉽게 ​​작성할 수 있는 기능입니다. 각 XML 레이아웃 파일의 바인딩 클래스가 자동으로 생성되고 이를 이용하여 해당 xml에 존재하는 id가 있는 모든 View를 직접 참조할 수 있습니다.

+대부분의 경우에 ViewBinding으로 findViewById 메서드를 대체할 수 있습니다.

View Binding 사용하는 방법

1) View Binding 설정

View Binding을 사용하기 위해서는 Android Studio 3.6 이상부터 사용이 가능합니다.

build.gradle (:app) 파일에 하단의 코드를 추가합니다.

  • 방법 1 (Android Studio 4.0 미만 버전)
android {
    ...
    viewBinding {
        enabled = true
    }
}
  • 방법 2 (Android Studio 4.0 이상 버전)
android {
	...
    buildFeatures {
            viewBinding true
    }
}

+) 바인딩 클래스를 생성하고 싶지 않은 레이아웃의 경우 viewBindingIgnore를 true로 설정해주면 됩니다.

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

2) Activity에서 View Binding 사용

  1. View Binding을 사용하고자 하는 Activity에 바인딩 클래스 인스턴스를 선언합니다.

  2. onCreate() 안에 inflate 메서드를 호출하여 Activity에서 사용할 바인딩 클래스 인스턴스를 생성합니다.

  3. 바인딩 변수의 root View를 setContentView()에 전달하여 화면에서 활성화 된 View로 만듭니다.

private lateinit var binding : ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
    }

이제 바인딩 클래스의 인스턴스를 사용하여 모든 뷰를 참조 할 수 있습니다.

binding.txt.text = "Hi"
binding.btn.setOnClickListener{
			...
}
profile
꾸준히 기록하는 딩딩의 개발일지

0개의 댓글