-
반응형
안녕하세요, 하루플입니다.
자바에서 코틀린으로 넘어가면서 코틀린 공부를 하고 있는데 예전 강좌를 보니 변수 선언이 엄청 간단하더라구요.
xml의 id를 변수 선언할 필요 없이 그냥 변수를 적으면 되더군요... java에 비해 너무 간단하더라구요.
그런데 막상 해보니 작동되지 않았습니다.
알고보니 코틀린 익스텐션 이라는 기능이 업데이트 되면서 막혀버렸습니다.
대신 뷰바인딩 이란 것을 사용해서 쓸 수 있더군요.
우선, 기본적인 변수 선언 방식 입니다.
val btn1 : Button = findViewById(R.id.btn1)
하지만 뷰바인딩을 사용하게 되면 아주 간단하게 변수를 선언할 수 있습니다.
뷰바인딩 하는 방법
1. 먼저 build.gradle 모듈탭에 아래 buildFeatures 구문을 작성해줍니다. 작성 후 Sync Now 꼭 합시다.
android { //기존 내용 생략 buildFeatures{ viewBinding true } }
2. MainActivity.kt 파일에 뷰 바인딩 코드 작성
참고로 xml의 버튼 뷰 변수는 btn1 입니다.
class MainActivity : AppCompatActivity() { private var mBinding: ActivityMainBinding? = null private val binding get() = mBinding!! override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // setContentView(R.layout.activity_main) 이 부분 제거 mBinding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) binding.btn1.setOnClickListener{ //버튼 클릭 시 이벤트 } } override fun onDestroy() { mBinding = null super.onDestroy() } }
위 코드 처럼 바인딩을 하면 앞에 binding 변수만 적어주고 xml의 변수 선언 없이 그대로 사용할 수 있습니다.
아래 블로그를 참고하여 작성하였습니다.
https://duckssi.tistory.com/42
반응형'개발 > Android' 카테고리의 다른 글
안드로이드 MVVM 패턴 (0) 2022.01.23 안드로이드스튜디오 AWS Amplify 알아보기 (0) 2021.11.16 [코틀린/Kotlin] 오버라이딩과 추상화 (0) 2021.11.03 [코틀린/Kotlin] 클래스 공부 내용 정리 (0) 2021.11.02 [코틀린/Kotlin] 기초 문법 정리 (0) 2021.11.01 댓글