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

1.2K
Visualizações
Kotlin Android: el delegado de propiedad debe tener un método 'getValue (DashViewModel, KProperty*>)'

Estoy tratando de seguir la guía oficial de Android para ViewModels en Kotlin. Literalmente copié y pegué el ejemplo oficial más fácil, pero la sintaxis parece ser ilegal.

Esta sección causa el problema:

 private val users: MutableLiveData<List<User>> by lazy { MutableLiveData().also { loadUsers() } }

La vista previa me da este error:

 Property delegate must have a 'getValue(DashViewModel, KProperty*>)' method. None of the following functions is suitable.

Y si quiero iniciar la aplicación me sale este error:

 Type inference failed: Not enough information to infer parameter T in constructor MutableLiveData<T : Any!>() Please specify it explicitly.

No entiendo esos dos errores y otras preguntas con el mismo error parecen haber sido causadas por algo diferente. Supongo que MutableLiveData().also causa el problema, pero no sé por qué. Esto es bastante extraño considerando que este es un ejemplo oficial.

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

0

No parece que haya declarado una clase User .

El segundo problema es otro error de documentación y debe proporcionar el tipo en la llamada al constructor MutableLiveData .

Entonces, esto funciona:

 package com.commonsware.myapplication import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel class User class MainViewModel : ViewModel() { private val users: MutableLiveData<List<User>> by lazy { MutableLiveData<List<User>>().also { loadUsers() } } fun getUsers(): LiveData<List<User>> { return users } private fun loadUsers() { // Do an asynchronous operation to fetch users. } }

Esto es bastante extraño considerando que este es un ejemplo oficial.

En general, considéralos una ilustración de una técnica, no necesariamente algo que copiarías y pegarías en un proyecto.

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