반응형
오늘은 안드로이드의 View Binding(뷰바인딩)에 대해 알아보려고 한다.
ViewBinding
ViewBinding(뷰 바인딩)은 뷰와 상호작용하는 코드를 보다 쉽게 작성할 수 있는 기능이다.
뷰바인딩을 사용함으로써, 기존에 사용하던 findViewById를 대체할 수 있다.
뷰 바인딩을 이용하기 위해서는 build.gradle에 다음과 같이 명시하여야 한다.
viewBinding {
enabled = true
}
그럼 이제 실제로 뷰 바인딩을 이용해보자.
먼저 예시에서는 메인 액티비티에서 사용을 하려고 한다.
기존에는 MainActivity와 activity_main_xml을 연결하기 위해
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
위 코드와 같이 작성하여 activity_main 레이아웃 파일과 액티비티를 연결하였고
button = findViewById(R.id.button)
이러한 형식으로 버튼 등의 뷰를 연결했을 것이다.
하지만 뷰 바인딩을 이용하면 다음과 같이 코드가 바뀐다.
private lateinit var binding: ActivityMainBinding
....
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
binding이라는 변수에 Activity 뷰 전체가 연결되어 들어가는 형식이다.
그래서 binding.root를 하게 되면 activity_main 뷰 전체가 해당이 되고
binding.button을 하게 되면 activity_main 뷰 안의 버튼을 가져올 수 있게 된다.
ActivityMainBinding은 임의로 이름을 지은것이 아니라,
레이아웃 파일의 이름에 맞게 탄생한다.
activity_main.xml 이면 ActivityMainBinding이 되는 것고
item_book.xml 이면 ItemBookBinding이 되는 것이다.
반응형
'Android' 카테고리의 다른 글
[Android] ViewModel 사용법 및 예제 (0) | 2023.02.02 |
---|---|
[Android] Room DB 사용법 및 예제 - Kotlin (0) | 2023.02.02 |
[Android] Retrofit 사용 예제 (Kotlin) (0) | 2023.02.01 |
[Android] Fragment에서 ViewBinding 메모리 누수 방지 (0) | 2022.05.02 |
[Android] Kotlin 기초 문법 (let, run, with, apply, also) (0) | 2022.03.13 |