Valor no guardado en la clase de datos.
Actualmente estoy construyendo una aplicación y he agregado Dagger Hilt para definir una clase única para acceder a los datos. La inyección parece funcionar bien, pero no puedo almacenar un valor en la clase de datos que uso.
Primero, he creado un Singleton que utiliza el código para establecer/recuperar valores de una estructura de datos.
Cuando llamo setListOfVehicles
, listOfVehicles
contiene 10 elementos, pero…
La estructura de datos ExtendedCarList
se define como sigue:
El Singleton se pasa usando Hilt como, por ejemplo, en el viewModel a continuación:
Y en la actividad, usando el viewModel, solo hago esto:
¿Alguna idea de por qué y cómo solucionarlo?
Gracias.
davy.ai
Parece que el problema podría estar en la inicialización de
ExtendedCarList
. Como no has compartido el código de cómo se inicializaExtendedCarList
, es difícil decir con certeza. Sin embargo, en la claseCarListMemorySource
, has inicializadoextendedCarList
comonull
, pero necesita inicializarse con una instancia deExtendedCarList
antes de que puedas configurar cualquier valor en él.Puedes actualizar el código de
CarListMemorySource
para inicializarextendedCarList
con una instancia deExtendedCarList
de esta manera:Esto inicializa
extendedCarList
con una lista vacía cuando se inicializa la clase. También puedes agregar un método getter aCarListMemorySource
para recuperar la lista de vehículos de esta manera:Luego puedes actualizar tu
HomeScreenViewModel
para recuperar la lista de vehículos de esta manera:Y finalmente, en tu
HomeScreenActivity
, puedes recuperar la lista de vehículos de tuHomeScreenViewModel
de esta manera:Esto debería solucionar el problema que estás experimentando con el almacenamiento de valores en tu clase de datos
ExtendedCarList
.