Android 뷰바인딩 설정하기
업데이트:
카테고리: Android
/2021년 이후로 코틀린 익스텐션 기능이 삭제되어 강의에 나온대로 tv_title.setText("Hello World..!")
가 제대로 실행되지 않았다.
프로젝트 > app > build.gradle
android {
...
buildFeatures {
viewBinding true
}
}
해당 코드를 추가해주었다.
실제로 실행해보니 위에 gradle에 viewBinding만 해주면 기존에 쓰던 방식대로 써도 오류가 발생하지 않았다.
### MainActivity.kt
```kotlin
class MainActivity : AppCompatActivity() {
// 전역변수로 바인딩 객체를 선언
private var mBinding: ActivityMainBinding? = null
// 매번 null 체크를 하지 않기위해 바인딩 객체 재선언
private val binding get() = mBinding!!
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Activity에서 사용할 바인딩 클래스 인스턴스 생성
mBinding= ActivityMainBinding.inflate(layoutInflater)
// 최상위 뷰를 가져온다.
setContentView(binding.root)
// 뷰 내의 id에 정상적으로 접근이 가능하다
binding.tvTitle.text = "이제 잘됨"
}
override fun onDestroy() {
mBinding = null
super.onDestroy()
}
}
```