Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

547
Visualizações
Datos en vivo: la resolución del candidato se cambiará pronto

En los mismos casos, el estudio de Android muestra un mensaje de advertencia cuando llamo al método de observe del objeto LiveData

 viewModel.emailValidationResult.observe(viewLifecycleOwner, {onEmailChanged(it)})

La resolución del candidato se cambiará pronto, utilice un nombre completamente calificado para invocar explícitamente al siguiente candidato más cercano:

public open fun observe(propietario: LifecycleOwner, observador: Observer<in Int?>): Unidad definida en androidx.lifecycle.LiveData

Según tengo entendido, sucedió después de actualizar kotlin 1.4 ¿Qué significa realmente?

over 4 years ago · Hanz Gallego
5 Respostas
Responde à pergunta

0

La extensión de AndroidX está obsoleta, por lo que debemos usar la original.

Quitar import androidx.lifecycle.observe

luego

 viewModel.liveData.observe(viewLifecycleOwner, Observer { result -> })

o

 viewModel.liveData.observe(viewLifecycleOwner) { result -> }
over 4 years ago · Hanz Gallego Relatório

0

El mismo problema también ocurrió en mi base de código. La versión de kotlin es '1.4.32'

Después de eliminar el sentimiento de importación a continuación, la advertencia desapareció.

 import androidx.lifecycle.observe
over 4 years ago · Hanz Gallego Relatório

0

Intenté eliminar "importar androidx.lifecycle.observe" y convertí a nuestros observadores de la siguiente manera:

 // From this livedata.observe(viewLifecycleOwner, Observer<MyClass?> { // do stuff with it }) // To this livedata.observe(viewLifecycleOwner) { // do stuff with it }

El problema ocurrió cuando necesitamos eliminar el observador dentro de la llamada onChange, por ejemplo

 // From this livedata.observe(viewLifecycleOwner, object : Observer<MyClass?> { override fun onChanged(t: MyClass?) { // Do stuff with it t livedata.removeObserver(this) } }) // To this livedata.observe(viewLifecycleOwner) { // do stuff with it livedata.removeObserver(this) <--- not working ofc }

Escuché rumores de que la gente ha desglosado el observador como una variable y, por lo tanto, ha podido agregarlo o eliminarlo haciendo referencia a la variable. Sin embargo, no puedo averiguar cómo crear una instancia de un observador local sin usar la sintaxis "Observer<MyClass?>.

over 4 years ago · Hanz Gallego Relatório

0

En mi caso, utilicé Kotlin 1.4.31 en el archivo buildgradle (nivel de proyecto).

 ext { kotlin_version = '1.4.31' } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }

El error de advertencia/desaprobación desapareció.

over 4 years ago · Hanz Gallego Relatório

0

Significa que la extensión en androidx ya no es necesaria.

Simplemente elimine su import import androidx.lifecycle.observe .

En realidad, quedará obsoleto en androidx. Lea más razonamiento allí.

EDITAR:

Tenga en cuenta el "problema" de Erik Hoogendoorn

Este cambio hace que los valores del objeto LiveData observado se interpreten como anulables (dado que la sintaxis lambda convertida se basa en código Java anulable). Este no fue el caso de la extensión de Kotlin y provoca una pérdida de funcionalidad para el usuario. En mi opinión, este cambio debería revertirse y encontrar una solución diferente.

Tengo curiosidad por saber si cambiarán el nombre y conservarán el ayudante o si encontrarán otra solución.

over 4 years ago · Hanz Gallego Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda