微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android-改造响应问题

我正在尝试通过翻新获取状态列表,并尝试添加搜索微调器.

我得到的是:

我正在得到回应的国家名单.

我可以在Spinner中访问一种状态.

Picture of Json


我想要的是 :

我想访问Spinner中的多个状态.

代码

getMainApp().electAPI.getStates().enqueue(object : Callback<Responseval>{
            override fun onFailure(call: Call<Responseval>,t: Throwable) {
                Toast.makeText(this@MainActivity,t?.message,Toast.LENGTH_SHORT)
            }

            override fun onResponse(call: Call<Responseval>,response: Response<Responseval>) {
                if (response.isSuccessful!!){
                    val states = response.body()?.data
                    val stateArray = arraylistof<String>(states?.get(0)!!.name)// Problem occur here i need to put value to get state
                    val spinner = findViewById<Spinner>(R.id.spinner)
                    val adapter = ArrayAdapter<String>(this@MainActivity,android.R.layout.simple_spinner_item,stateArray)
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
                    spinner.adapter = adapter
                    val options = stateArray
                    spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
                        override fun onItemSelected(parent: AdapterView<*>,view: View,position: Int,id: Long) {
                            Toast.makeText(this@MainActivity," You select >> "+options[position],Toast.LENGTH_SHORT).show();
                        }

                        override fun onnothingSelected(parent: AdapterView<*>) {

                            // sometimes you need nothing here
                        }
                    }
                }
            }

        })

Pokos:

data class Responseval(val `data`: List<Data>,val message: String,val success: Boolean)

data class Data(val created_at: String,val id: Int,val name: String,val status: Int,val updated_at: String)
最佳答案
您可以使用这样的循环.

getMainApp().electAPI.getStates().enqueue(object : Callback<Responseval>{
            override fun onFailure(call: Call<Responseval>,response: Response<Responseval>) {
                if (response.isSuccessful!!){
                    val states = response.body()?.data
                    var stateArray = arraylistof<String>
                    for(i = 0; i<response.body.data.size; i++){
                        stateArray.add(response.body.data.get(i).name)
                    }
                    val spinner = findViewById<Spinner>(R.id.spinner)
                    val adapter = ArrayAdapter<String>(this@MainActivity,Toast.LENGTH_SHORT).show();
                        }

                        override fun onnothingSelected(parent: AdapterView<*>) {

                            // sometimes you need nothing here
                        }
                    }
                }
            }

        })

在科特林循环

for (i in 0..(response.body.data.size-1)) {
        stateArray.add(response.body.data.get(i).name)
    }

原文地址:https://www.jb51.cc/android/531374.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐