创建扩展函数,用Kotlin将资源分配给ImageView



我开始使用Kotlin有趣的扩展。我已经创建了一些对我来说正确的,但我有一个ImageView上下文不起作用,我不明白为什么。

扩展功能如下:

fun ImageView.imageCardAssignation(imageSelected: Int): Int {
when(imageSelected){
0 -> R.drawable.card_amazon
1 -> R.drawable. card_card
2 -> R.drawable. card_house
}
return imageSelected
}

其想法是,根据作为参数传递的数字(Int(,将一个或另一个图像分配给ImageView。

我调用它如下:

vb.selectImage.setImageResource (imageCardAssignation (0))

但ID指示错误:

- none of the following candidates is applicable because os receiver type mismatch

我认为上下文必须是ImageView

我做错了什么?

非常感谢和问候。

应该是这样的:

fun ImageView.imageCardAssignation(imageSelected: Int): Int {
return when(imageSelected){
0 -> R.drawable.card_amazon
1 -> R.drawable.card_card
2 -> R.drawable.card_house
}
}

我假设"R.drawable.card_amazon"是Int,否则返回类型将是错误的

相关内容

  • 没有找到相关文章

最新更新