100
{
"active": [
{
"title": "ارزیابی آقای غیر حمیدیا",
"evaluationId": "kjn4a48wd",
"questionCount": 29,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbt16541xvf",
"questionCount": 29,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی در مورد عماد تقی پور",
"evaluationId": "kjnfdf1wd",
"questionCount": 13,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی چیز دار",
"evaluationId": "nbtdf65b4vf",
"startDate": "876464152132",
"questionCount": 28,
"expireDate": "1651443210"
}
],
"abandoned": [
{
"title": "ارزیابی آقای حمیدیا",
"evaluationId": "kjn4a48wd",
"startDate": "876464152132",
"questionCount": 17,
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbt16541xvf",
"questionCount": 16,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی در مورد عماد تقی پور",
"evaluationId": "kjnfdf1wd",
"questionCount": 7,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbtdf65b4vf",
"questionCount": 2,
"startDate": "876464152132",
"expireDate": "1651443210"
}
],
"expired": [
{
"title": "ارزیابی آقای جعفری",
"evaluationId": "kjn4a48wd",
"startDate": "876464152132",
"questionCount": 17,
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbt16541xvf",
"questionCount": 16,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی در مورد عماد تقی پور",
"evaluationId": "kjnfdf1wd",
"questionCount": 7,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbtdf65b4vf",
"questionCount": 2,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی آقای جعفری",
"evaluationId": "kjn4a48wd",
"startDate": "876464152132",
"questionCount": 17,
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbt16541xvf",
"questionCount": 16,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی در مورد عماد تقی پور",
"evaluationId": "kjnfdf1wd",
"questionCount": 7,
"startDate": "876464152132",
"expireDate": "1651443210"
},
{
"title": "ارزیابی کارکنان تیم فنی",
"evaluationId": "nbtdf65b4vf",
"questionCount": 2,
"startDate": "876464152132",
"expireDate": "1651443210"
}
]
}
100
data class EvaluationListModel(
var abandoned: List<Abandoned> = ArrayList<Abandoned> (),
var active: List<Active> = ArrayList<Active> (),
var expired: List<Expired> = ArrayList<Expired> ())
100
@GET("test/first.json")
suspend fun requestEvaluationList(): Response<EvaluationListModel>
100
private fun viewModelObservers() {
viewModel.serverEvaluationList.observe(viewLifecycleOwner){
when(it){
is Resource.Loading->{
Log.d("evallist", "loading: ")
}
is Resource.Success->{
Log.d("evallist", "succuss: ${it.data?.active?.size} ")
setEvaluationDataToUi(it.data)
}
is Resource.Error->{
Log.d("evallist", "error: ${it.message} ")
}
is Resource.Finish->{
Log.d("evallist", "finish: ")
}
else->{
Log.d("evallist", "else: ")
}
}
}
}
100
@SuppressLint("SuspiciousIndentation")
private fun GetEvaluationListFromServer () = viewModelScope.launch {
Log.d("evallist", "GetEvaluationListFromServer: ")
serverEvaluationList.postValue(Resource.Loading())
try {
if(hasInternetConnection()){
val response : Response<EvaluationListModel> = repository.requestGetEvaluationList()
serverEvaluationList.postValue(handleGetEvaluationListFromServerRequest(response))
}else{
serverEvaluationList.postValue(Resource.Error(858585, app.getString(R.string.no_internet) ))
}
}catch (e : Exception){
serverEvaluationList.postValue(e.localizedMessage?.let { Resource.Error(85500, it.toString()) })
}
}
private fun handleGetEvaluationListFromServerRequest(response: Response<EvaluationListModel>): Resource<EvaluationListModel> {
return if (response.isSuccessful) {
serverEvaluationList.postValue(Resource.Success(response.body()))
Resource.Success(response.body())
}else if (response.code()==403){
updateRefreshToken()
Resource.Error(85403,"چنین کاربری وجود ندارد")
}else{
Resource.Error(85600 ,response.message())
}
}
当数据被解析时,我的列表大小是zero,JSON是有效的.
100
我是Kotlin的新手,当我在存储库中获取数据并将其传递给视图中的ViewModel和观察者时,它会给出list.size=0
我try 了多种方法来解决这个问题,比如将数组列表更改为列表等.