首页 > 解决方案 > 而不是字符串方法返回 Kotlin.Unit

问题描述

我有一个应该返回字符串值的方法。返回值是正确的并显示所需的值字符串,但在片段中我收到的是 Kotlin.Unit 而不是该值。这是我在调试时看到的: 在此处输入图像描述

这是我的功能:

  fun getName() {
    var name: String? = null
    uploadPerson({ res ->
        name = res.getJSONObject("person").getString("name")

    },
        { err ->
            Log.d("TAG", "error: $err")

        })
    val id = "5586"
  
   val url =
        "https://$id/api/person/get?&$name"
    val resRequest = JsonObjectRequest(
        Request.Method.GET, requestUrl, null,
        { response ->

        },
        { error ->
           
        }
    )
    queue.add(resRequest)
 }

uploadPerson功能:

fun uploadPerson(
       
        result: (res: JSONObject) -> Unit,
        error: ((err: String) -> Unit)? = null
    ) {


        val params = HashMap<String, Any>()
        params["id"] = person.id
        params["name"] = person.name
       
        val jsonObject = JSONObject(params as Map<*, *>)

        val id = "5545"
    
        val requestUrl = "https://id/api/person/UploadPerson";

        val jsonObjectRequest =
            object : JsonObjectRequest(Request.Method.POST, requestUrl, jsonObject,
                { response ->

                    try {
                        if (response.getBoolean("success")) {
                            val resultObj = response.getJSONObject("person")

                        } else {

                        }
                    } catch (e: JSONException) {
                        e.printStackTrace()
                    }
                    uploadResult(response);
                },
                { error ->
                    // TODO: Handle error

                    uploadError?.invoke(error.toString());
                }
            ) {
                override fun getHeaders(): MutableMap<String, String> {
                    return getAuthHeaders()
                }
            }

        queue.add(jsonObjectRequest);
    }

我认为这是因为结果uoloadPerson函数是Unit,我需要在函数中返回字符串类型getName。但我不明白如何解决这个问题

标签: androidkotlinjsonobjectrequest

解决方案


推荐阅读