Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

gif context

Olá! Por que no parâmetro do ImageDecoderDecoder temos que colocar o @FormularioProdutoActivity? Por que não basta indicar apenas o this que já é da própria activity?

val imageLoader = ImageLoader.Builder(this)
            .componentRegistry {
                if (SDK_INT >= 28) {
                    add(ImageDecoderDecoder(this@FormularioProdutoActivity))
                } else {
                    add(GifDecoder())
                }
            }
            .build()

obrigado

3 respostas

Ley, nesse cenário, você esta dentro de outro contexto por isso precisa passar o nome completo

da uma olhada na implementação:


        /**
         * Build and set the [ComponentRegistry].
         */
        @JvmSynthetic
        inline fun componentRegistry(
            builder: ComponentRegistry.Builder.() -> Unit
        ) = componentRegistry(ComponentRegistry.Builder().apply(builder).build())

        /**
         * Set the [ComponentRegistry].
         */
        fun componentRegistry(registry: ComponentRegistry) = apply {
            this.componentRegistry = registry
        }

Eae, Matheus!

Cara, não entendi

solução!

Fala Ley

Cara assim quando a gente faz

 ImageLoader.Builder(this)
            .componentRegistry { }
`

Estamos dentro do contexto dessa implementação:

        fun componentRegistry(registry: ComponentRegistry) = apply {
            this.componentRegistry = registry
        }

Percebe que ela está dando um apply dentro da classe builder, por esse motivo o this é referênciado para a classe builder, o que nos faz ter que usar o nome completo do this, que no seu caso é this@FormularioProdutoActivity

Fez sentido ?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software