Почему не возвращается значение из JsonObjectRequest?
У меня есть функция запроса JsonObjectRequest, где мне нужно получить String. Это моя функция:
fun getName(
id: String,
requestResult: (res: JSONObject) -> Unit,
requestError: ((err: String) -> Unit)? = null
) {
val requestUrl = "https://api/app/getherp/get?$id"
val jsonObjectRequest = object : JsonObjectRequest(Request.Method.GET, requestUrl, null,
{ response ->
requestResult(response)
},
{ error ->
requestError?.invoke(error.toString());
}
) {
override fun getHeaders(): MutableMap<String, String> {
return getAuthHeaders()
}
}
queue.add(jsonObjectRequest)
}
значение, которое возвращается в результате этого запроса, мне нужно передать в качестве параметра в функцию addInList во фрагменте. Вот функция addInList:
private fun addInList(name:String) {
list.add(0, UserInfo(name))
adapter?.notifyDataSetChanged()
}
и затем я вызываю эту функцию. так же во фрагменте:
class MyFragment : Fragment() {
......
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
.....
uploadPer()
.....
}
private fun uploadPer(){
id = user.id
val mId = id
if (mId != null) {
val name= MyClass.getName(mId,
{ res->
},
{ err ->
}).toString()
addInList(name)
}
}
private fun addInList(name:String) {
list.add(0, UserInfo(name))
adapter?.notifyDataSetChanged()
}
}
Приложение отрабатывает, эксепшенов нет. Но в качестве имени в список возвращается всегда одно значение: "kotlin.unit" . Не могу понять, как это исправить. Помогите, пожалуйста. Спасибо.