如何使用Kotlin将以下代码从if expression转换为when

实际上我在Activity中使用了2个适配器,但是我遇到将if expression转换为when的问题,有什么解决办法吗?

这是我的代码

    var ADAPTER_TYPE_1=adapter1
    var ADAPTER_TYPE_2=adapter2

   if(ADAPTER_TYPE_1 ==lvFoods2.adapter) {
       ADAPTER_TYPE_1 = FoodAdapter(listOfFoods2, this)
       lvFoods2.adapter = ADAPTER_TYPE_1
    } else if (ADAPTER_TYPE_2==lvFoods2.adapter) {
       ADAPTER_TYPE_2 = FoodAdapter2(listOfFoods3, this)
       lvFoods2.adapter = ADAPTER_TYPE_2
     }

最佳答案

像这样:

var adapterType1 = adapter1
var adapterType2 = adapter2

lvFoods2.adapter = when (lvFoods2.adapter) {
    adapterType1 -> FoodAdapter(listOfFoods2, this).also { adapterType1 = it }
    adapterType2 -> FoodAdapter2(listOfFoods3, this).also { adapterType2 = it }
    else -> lvFoods2.adapter
}

关于android - 如何在Kotlin中将if表达式转换为when,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46517720/

10-11 22:33
查看更多