【问题标题】:How do I convert a response from a RESTful call to an array for a spinner adapter in kotlin如何将 RESTful 调用的响应转换为 kotlin 中微调器适配器的数组
【发布时间】:2021-06-16 20:23:45
【问题描述】:

我的应用中有一个微调器,应该填充供应商列表。微调器最初来自一些示例代码,并且使用示例中的固定字符串完美地工作。但是,就我而言,我从 API 获取值(供应商)列表。我可以看到 API 被正确调用并在 Logcat 中返回数据。我想从此响应中获取数据并将其用作我的微调器的对象列表。

我的问题有两个。是否有更直接的方法将响应转换为适配器,如果没有,我如何将读取响应转换为微调器将使用的内容?

我的代码如下所示:

var SupplierArray: MutableList<String> = ArrayList()

val suppliers = response.body()?APIResult!![0]

for (i in 0..suppliers.supplier.size - 1) {
    SupplierArray.add(suppliers.suppliers[i].supplier_name)
}

类中声明了SupplierArray,调用api的函数的onResponse中存在循环。

鉴于我的响应包含 3 个供应商,当我尝试使用 SupplierArray 作为适配器时:

val adapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, SupplierArray)

我得到一个空数组。有人可以解释一下我做错了什么吗?

【问题讨论】:

    标签: android kotlin adapter


    【解决方案1】:

    确保您正在等待来自 restful 呼叫的响应。见this

    【讨论】:

    • 响应肯定返回完整。在定义 val 供应商之前,我将其完整地写到 logcat 中。如果我在循环中添加 Log.d("Each Sup:",suppliers.suppliers[i].supplier_name) 它会正确写入每个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多