我有下面的代码,当我从JSON反序列化对Gson的响应时,我收到了下面的异常:
java.lang.ClassCastException: com.test.model.photos.photosModel cannot be cast to androidx.lifecycle.MutableLiveData
这是我从服务器收到响应时的“我的代码”:
lateinit var _photosModel:MutableLiveData<photosModel>
val gson = Gson()
val modelObj = gson.fromJson<Any>(response.toString(), photosModel::class.java)
_photosModel = modelObj as MutableLiveData<photosModel>
1条答案
按热度按时间u59ebvdq1#
简单地说,因为您从Json解析到模型是Any,而您需要的是类型
MutableLiveData
。更重要的是,如果你想为
MutableLiveData
设置数据,你应该使用两个方法setValue()
,如果你想在主线程中设置值,postValue()
,如果你想在其他线程中设置值。就这样: