Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.2K
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!