I am trying to get List of States through Retrofit and trying to add in Searchable Spinner.
What I get :
I am getting List of States in Response.
I c
You can use a loop like this.
getMainApp().electAPI.getStates().enqueue(object : Callback{
override fun onFailure(call: Call, t: Throwable) {
Toast.makeText(this@MainActivity, t?.message, Toast.LENGTH_SHORT)
}
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful!!){
val states = response.body()?.data
var stateArray = arrayListOf
for(i = 0; i(R.id.spinner)
val adapter = ArrayAdapter(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
}
}
}
}
})
for loop in kotlin
for (i in 0..(response.body.data.size-1)) {
stateArray.add(response.body.data.get(i).name)
}