【问题标题】:I want to convert my kotlin code to be like this :我想将我的 kotlin 代码转换成这样:
【发布时间】:2021-02-14 09:37:44
【问题描述】:

您好,请帮帮我,我有这个代码

private fun veriKaynaginiDoldur() {
    var images = arrayOf(R.drawable.image1, R.drawable.image2, R.drawable.image3)
    var names = arrayOf("name 1", "name 2", "name 3")

    for (i in 0..images.size - 1) {
        var eklenecekDost = Dost(names[i], images[i])
        tumDostlar.add(eklenecekDost)
    }


}

**我想转换成这样组织的例子**

.......add (R.drawable.image1,"name 1").......add (R.drawable.image2,"name 2").......add (R.drawable.image3,"name 3")

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    你可以使用zip():

    private fun veriKaynaginiDoldur() {
        var images = listOf(1, 2, 3)
        var names = listOf("name 1", "name 2", "name 3")
    
        names.zip(images).forEach { (name, image) ->
            tumDostlar.add(Dost(name, image))
        }
    }
    

    帮助代码编译示例:

    data class Dost(val name: String, val image: Int)
    
    class TumDostlar {
        fun add(dost: Dost): Unit {}
    }
    
    val tumDostlar = TumDostlar()
    

    【讨论】:

    • 谢谢你的回答,但不喜欢所以我想写代码时必须在文本附近写 ("image","name") 图像,因为我们在为字典工作,在那里大约 3000 字,使用此代码会很复杂,请帮助我
    • 在您的代码中,您的 add() 函数接受 Dost 对象。抱歉,除非您提供一个可行的示例并清楚说明您要做什么,否则我认为我无法提供更多帮助。
    • 谢谢您的帮助,我使用您的解决方案解决了代码,如下所示:private fun veriKaynaginiDoldur() { var images = listOf(1, 2, 3) var names = listOf("name 1", "name 2", "name 3") names.zip(images).forEach { (name, image) -> tumDostlar.add(Dost(name, image)) tumDostlar.add(Dost(name, image)) tumDostlar.添加(Dost(名称,图像))}}
    猜你喜欢
    • 1970-01-01
    • 2022-11-29
    • 2018-08-19
    • 2021-08-22
    • 1970-01-01
    • 1970-01-01
    • 2021-02-08
    • 2016-05-01
    • 2013-04-01
    相关资源
    最近更新 更多