As extensões do Kotlin para Android foram descontinuadas, ou seja, o uso do Kotlin sintéticos para vinculação de visualizações não são mais compatíveis. Se o app usa o Kotlin sintéticos para vinculação de visualizações, use este guia para migrar para a vinculação de visualizações do Jetpack.
Se o app ainda não usa sintéticos do Kotlin para vinculação de visualizações, consulte Visualização vinculação para informações básicas de uso.
Atualizar o arquivo do Gradle
Assim como as extensões do Android, a vinculação de visualizações do Jetpack é ativada módulo por módulo.
base. Para cada módulo que usa a vinculação de visualizações, defina o build viewBinding
.
para true
no arquivo build.gradle
do módulo:
android {
...
buildFeatures {
viewBinding true
}
}
android {
...
buildFeatures {
viewBinding = true
}
}
Caso o app não use o Parcelable
remova a linha que ativa as extensões do Kotlin para Android:
Para saber mais sobre como ativar a vinculação de visualizações em um módulo, consulte Configuração instruções.
Atualizar classes de atividades e fragmentos
Com a vinculação de visualizações do Jetpack, uma classe de vinculação é gerada para cada arquivo de layout XML.
que o módulo contém. O nome dessa classe de vinculação é o nome do arquivo
arquivo em letras maiúsculas do Pascal com a palavra Binding adicionada ao final. Por exemplo, se
o nome do arquivo de layout é result_profile.xml
, o nome do
classe de vinculação é ResultProfileBinding
.
Usar as classes de vinculação geradas em vez de propriedades sintéticas para visualizações de referência, mude a atividade e as classes de fragmento ao seguintes:
Remova todas as importações de
kotlinx.android.synthetic
.Infle uma instância da classe de vinculação gerada para a atividade ou de dados a ser usado.
- Para atividades, siga as instruções em Usar a vinculação de visualizações na
atividades para inflar uma
na sua atividade
onCreate()
. - Para fragmentos, siga as instruções em Usar a vinculação de visualizações em
fragmentos para inflar uma instância
na classe
onCreateView()
.
- Para atividades, siga as instruções em Usar a vinculação de visualizações na
atividades para inflar uma
na sua atividade
Mude todas as referências de visualização para usar a instância da classe de vinculação em vez da propriedades sintéticas:
// 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
Para saber mais, consulte a seção Uso na guia de vinculação de visualizações.
Recomendados para você
Vinculação de visualizações
Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.
Visão geral da Paging Library
Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.
Testar a implementação da Paging
Discover the latest app development tools, platform updates, training, and documentation for developers across every Android device.