As extensões Android do Kotlin foram descontinuadas, o que significa que o uso de sintéticos do Kotlin para vinculação de visualizações não é mais compatível. Se o app usa sintéticos do Kotlin 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 Vinculação de visualizações para ver 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. Para cada módulo que usa a vinculação de visualizações, defina a opção de build viewBinding
como true
no arquivo build.gradle
do módulo:
Groovy
android { ... buildFeatures { viewBinding true } }
Kotlin
android { ... buildFeatures { viewBinding = true } }
Se o app não usa recursos Parcelable
, remova a linha que ativa as extensões Android do Kotlin:
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 as Instruções de configuração.
Atualizar classes de atividade e fragmento
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
XML, em PascalCase, com a palavra Binding adicionada no final. Por exemplo, se
o nome do arquivo de layout for result_profile.xml
, o nome da classe de vinculação
gerada será ResultProfileBinding
.
Para usar as classes de vinculação geradas em vez de propriedades sintéticas para referenciar visualizações, mude a atividade e as classes de fragmento fazendo o seguinte:
Remova todas as importações de
kotlinx.android.synthetic
.Infle uma instância da classe de vinculação gerada para a atividade ou o fragmento usar.
- Para atividades, siga as instruções em Usar a vinculação de visualizações
em atividades para inflar uma
instância no método
onCreate()
da atividade. - Para fragmentos, siga as instruções em Usar a vinculação de visualizações em
fragmentos para inflar uma instância
no método
onCreateView()
do fragmento.
- Para atividades, siga as instruções em Usar a vinculação de visualizações
em atividades para inflar uma
instância no método
Mude todas as referências de visualização para usar a instância da classe de vinculação em vez de 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 no 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