Kotlin Android 확장 프로그램이 지원 중단되었습니다. 즉, Kotlin을 사용하면 뷰 결합을 위한 합성은 더 이상 지원되지 않습니다. 앱에서 Kotlin을 사용하는 경우 합성을 사용하는 경우 이 가이드를 사용하여 Jetpack 뷰 결합으로 이전하세요.
앱에서 아직 뷰 결합에 Kotlin 합성을 사용하지 않는다면 뷰 바인딩을 참조하세요.
Gradle 파일 업데이트
Android 확장 프로그램과 마찬가지로 Jetpack 뷰 결합은 모듈별로 사용 설정됩니다.
기반으로 합니다 뷰 결합을 사용하는 각 모듈에 대해 viewBinding
빌드를 설정합니다.
모듈 수준 build.gradle
파일에서 true
옵션을 추가합니다.
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
앱에서 Parcelable
를 사용하지 않는 경우
기능을 사용하려면 Kotlin Android 확장 프로그램을 사용 설정하는 행을 삭제합니다.
Groovy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
모듈에서 뷰 결합을 사용 설정하는 방법에 관한 자세한 내용은 설정을 참조하세요. 안내를 따르세요.
활동 및 프래그먼트 클래스 업데이트
Jetpack 뷰 결합을 사용하면 각 XML 레이아웃 파일의 결합 클래스가 생성됩니다.
kube-APIserver입니다 이 결합 클래스의 이름은 XML의 이름입니다.
파일 맨 끝에 Binding이 추가된 파스칼 표기법으로 파일을 만듭니다. 예를 들어
레이아웃 파일의 이름은 result_profile.xml
이고 생성된
결합 클래스는 ResultProfileBinding
입니다.
합성 속성 대신 생성된 결합 클래스를 사용하여 뷰를 참조하고 활동과 프래그먼트 클래스를 변경하는 방법은 다음과 같습니다. 있습니다.
kotlinx.android.synthetic
에서 가져오기를 모두 삭제합니다.활동에 대해 생성된 결합 클래스의 인스턴스를 확장합니다. 사용할 수 있습니다.
- 활동의 경우 다음에서 뷰 결합 사용
활동을 확장하기 위해
활동의
onCreate()
메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다. - 프래그먼트의 경우 다음에서 뷰 결합 사용
프래그먼트를 사용하여 인스턴스를 확장합니다.
프래그먼트의
onCreateView()
메서드를 사용하여 축소하도록 요청합니다.
- 활동의 경우 다음에서 뷰 결합 사용
활동을 확장하기 위해
활동의
대신 결합 클래스 인스턴스를 사용하도록 모든 뷰 참조를 변경합니다. 합성 속성:
// Reference to "name" TextView using synthetic properties.
name.text = viewModel.nameString
// Reference to "name" TextView using the binding class instance.
binding.name.text = viewModel.nameString
자세한 내용은 아래의 사용량 섹션을 참고하세요. 뷰 결합 가이드를 참조하세요.
추천 서비스
- 참고: JavaScript가 사용 중지되어 있으면 링크 텍스트가 표시됩니다.
- 뷰 결합
- Paging 라이브러리 개요
- Paging 구현 테스트