У меня очень странная проблема. У меня есть список hashmap (groupList) в FragemtA
. Каждый раз, когда fragmentA
запускается, он должен вызывать функцию checkUser
и, наконец, получить возвращаемое значение на forEach
там.
var id = ""
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val userId = checkUser()
activity.groupedList.forEach {
for (i in it.value) {
Log.d(TAG, "user id in groupedList" + userId)
}
}
fun checkUser(): String {
GlobalScope.launch(Dispatchers.Main) {
val response = WebApi.getOrganizationsList(activity)
if (response?.status == "success") {
id = response?.user_id.toString()
Log.d(TAG,"id in checkUser "+id)
} else {
longToast("FAIL")
}
}
return id
}
Почему я получу этот вывод?
D/xxx: user id in groupedList
D/xxx: user id in groupedList
D/xxx: id in checkUser 46
Я бы ожидал, что сначала отобразится id in checkUser 46
, но это не так!
Желаемый выход
D/xxx: id in checkUser 46
D/xxx: user id in groupedList 46
D/xxx: user id in groupedList 46