Vintage appMaker의 Tech Blog

kotlin에서 xml의 ID로 변수를 자동으로 읽어오지 못할 때 본문

Source code or Tip/Android(Java, Kotlin)

kotlin에서 xml의 ID로 변수를 자동으로 읽어오지 못할 때

VintageappMaker 2020. 12. 22. 12:32

java로 만든 프로젝트를 Android Studio의 메뉴로 kotlin으로 변환하면 
kotlinx 패키지 이하 모듈들이
자동으로 임포트 안될 때가 있다.

그럴경우,
(1) 새롭게 Activity를 생성한다.
(2) XML에서 ID를 부여하고 위젯을 하나 만든다.
(3) 새로생긴 Activity에서 해당 위젯의 ID로 변수명을 액세스 한다.
(4) alt + enter로 자동 임포트한다. 

 

그 다음에는 어디서나 kotlinx이하 하위패키지가 자동 임포트 가능하다.

 

 

kotlinx.android.synthetic.main 이후에 해당 Acitivty에서 사용하는 XML의 id값을 지정해주면 id를 자동으로 변수로 만들어 사용할 수 있다. 

 

 

(*) Android Studio 4.1에서는 kotlinx.android.synthetic 기능을 삭제했다. 문제가 많았던 것 같다. 그러므로 해결책으로는 findViewById()를 사용하거나 DataBinding을 사용하는 것이다. 

 

 

Migrate from Kotlin synthetics to Jetpack view binding  |  Android 개발자

Kotlin Android Extensions is deprecated, which means that using Kotlin synthetics for view binding is no longer supported. If your app uses Kotlin synthetics for view binding, use this guide to migrate to Jetpack view binding. If your app does not already

developer.android.com

 

Comments