Android 将可变实时数据解析到Kotlin中的数组
有一个mutableLiveData包含2个数组“deal”和“category”,我需要在不同的适配器中解析这两个数组 是否有一种方法可以将1个可变的实时数据转换为2个数组,然后将它们解析为两个不同的适配器 假设存在可变变量名seAndroid 将可变实时数据解析到Kotlin中的数组,android,kotlin,android-livedata,nsmutabledata,Android,Kotlin,Android Livedata,Nsmutabledata,有一个mutableLiveData包含2个数组“deal”和“category”,我需要在不同的适配器中解析这两个数组 是否有一种方法可以将1个可变的实时数据转换为2个数组,然后将它们解析为两个不同的适配器 假设存在可变变量名se private lateinit var mHomePojo:MutableLiveData 如下所示解析Json { "status": 0, "response": "success", "category": [ {
private lateinit var mHomePojo:MutableLiveData
如下所示解析Json
{
"status": 0,
"response": "success",
"category": [
{
"categoryName": "demo",
"categoryDesc": "demo"
},
{
"categoryName": "demo1",
"categoryDesc": "demo"
}
],
"deal": [
{
"dealImg": "https://aiotechnology.in/Aditechweb/upload/153102117.jpg",
"dealDesc": "gd",
"dealStartDate": "2019-10-18",
"dealEndDate": "2019-10-19"
}
]
}
有没有办法将私有lateinit var mHomePojo:MutableLiveData
解析为lateinit var mDealModel:MutableLiveData
和
lateinit var mCategoryModel:MutableLiveData
我是MVVM新手,请帮助我认为转换可能能够帮助您将家庭实时数据分离为两个具有指定属性的独立livedata对象。下面是一段代码。(注意:例如,未使用lateinit变量)
private val homeLiveData:LiveData=MutableLiveData()
//类别实时数据
private val categoryPojo=Transformations.map(homeLiveData){
it.category
}
//处理实时数据
private val dealPojo=Transformations.map(homeLiveData){
好的,成交
}
数据类HomePojo(
/*--其他领域--*/
val类别:列表?=空,
val交易:列表?=null)
数据类CategoryPojo(
val categoryName:字符串?=null,
val categoryDesc:字符串?=null)
数据类DealPojo(
val dealImg:字符串?=null,
val dealDesc:字符串?=null,
val dealStartDate:字符串?=null,
val dealEndDate:字符串?=null)
您试过什么吗?提示:.map{}
在您需要typeA到typeB转换时使用。否我没有尝试。map{}我将研究it@NewUser你确定它能帮我吗?你能帮我吗?下面是解析适配器homeFragmentDealAdapter=homeFragmentDealAdapter中实时数据的正确方法(这是mHomeFragmentViewModel.mDealModel.value作为ArrayList)因为我收到错误“kotlin.NotImplementedError:操作未实现:未实现”您是否可以向我显示mDealModel和HomeFragmentDealAdapter的初始化代码?
private val homeLiveData: LiveData<HomePojo> = MutableLiveData<HomePojo>()
//Category Live data
private val categoryPojo = Transformations.map(homeLiveData) {
it.category
}
//Deal live data
private val dealPojo = Transformations.map(homeLiveData) {
it.deal
}
data class HomePojo(
/*-- Other fields --*/
val category: List<CategoryPojo>? = null,
val deal: List<DealPojo>? = null)
data class CategoryPojo(
val categoryName: String? = null,
val categoryDesc: String? = null)
data class DealPojo(
val dealImg: String? = null,
val dealDesc: String? = null,
val dealStartDate: String? = null,
val dealEndDate: String? = null)