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:
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
Caso o app não use o Parcelable
remova a linha que ativa as extensões do Kotlin para Android:
Groovy
plugins { id 'kotlin-android-extensions' }
Kotlin
plugins { kotlin("android.extensions") }
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ê
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Vinculação de visualizações
- Visão geral da biblioteca Paging
- Testar a implementação da Paging