1
resposta

Usando o viewbinding ao invés de synthetics

A versão corrente do Android Studio está avisando que a biblioteca "synthetics" está depreciada e deve ser usado o view binding, então comecei a atualizar o app para usar essa nova maneira de pegar as views e, tenho que dizer, me parece fazer muito mais sentido do que os synthetics.

(Por exemplo: ele só disponibiliza as views que estão disponíveis naquele contexto, evitando erros de NPE ao tentar chamar uma view que não faz parte daquele layout.)

Para usar binding no AlertDialog eu usei o seguinte código:

 binding.listaTransacoesAdicionaReceita.setOnClickListener {
            var binding = FormTransacaoBinding.inflate(layoutInflater)

            AlertDialog.Builder(this)
                .setTitle(R.string.adiciona_receita)
                .setView(binding.root)
                .show()
        }

Que tal? Muito mais legível e direto, né?

Editado: encontrei o caminho nesse artigo: https://medium.com/@abhinav.s0612/exploring-view-binding-in-activities-fragments-dialogs-and-recyclerview-adapters-789f84b31a2a

1 resposta

Francisco, tudo bem ?

View Binding é algo bem maneiro!

O problema é que o google ainda não decidiu o que quer, pois tem o DataBinding referenciado na página do jetpack e antes já vinha com o synthetics habilitado por default, então é meio confuso, além disso, temos apenas que ficar de olho na manutenção dessas tecnologias, mas no mais, essa tem tudo pra dar certo