【发布时间】:2019-04-03 06:18:39
【问题描述】:
我正在尝试将元素列表添加到字符串列表中,但我发现 Kotlin 没有像 java 这样的添加功能,所以请帮助我了解如何将项目添加到列表中。
class RetrofitKotlin : AppCompatActivity() {
var listofVechile:List<Message>?=null
var listofVechileName:List<String>?=null
var listview:ListView?=null
var progressBar:ProgressBar?=null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_retrofit_kotlin)
listview=findViewById<ListView>(R.id.mlist)
var apiInterfacee=ApiClass.client.create(ApiInterfacee::class.java)
val call=apiInterfacee.getTaxiType()
call.enqueue(object : Callback<TaxiTypeResponse> {
override fun onResponse(call: Call<TaxiTypeResponse>, response: Response<TaxiTypeResponse>) {
listofVechile=response.body()?.message!!
println("Sixze is here listofVechile ${listofVechile!!.size}")
if (listofVechile!=null) {
for (i in 0..listofVechile!!.size-1) {
//how to add the name only listofVechileName list
}
}
//println("Sixze is here ${listofVechileName!!.size}")
val arrayadapter=ArrayAdapter<String>(this@RetrofitKotlin,android.R.layout.simple_expandable_list_item_1,listofVechileName)
listview!!.adapter=arrayadapter
}
override fun onFailure(call: Call<TaxiTypeResponse>, t: Throwable) {
}
})
}
}
【问题讨论】:
-
嗯?你在说什么清单? Kotlin 列表是 Java 列表,不是吗?如果外国名字让我失望,我很抱歉。
-
@Steve 我在说 var listofVechileName:List
?=null 如何在上面添加项目 -
您需要退后一步,阅读文档以了解 Kotlin 的基础知识,只需阅读文档即可:kotlinlang.org/docs/reference/collections.html
-
啊,是的……不可变的东西。我只是没有把 2 和 2 放在一起。完美,明显的意义。我还没有做足够的 Kotlin 编码。这与阅读文档无关。相反,它是关于用 Java 完成你的日常工作,并且不得不把你的头脑从其中抽出来,用 Kotlin 思考。
-
一个简单的答案,你不能直接将项目添加到 List 而不将其转换为可变形式。
标签: list kotlin collections kotlin-android-extensions