我开始使用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,否则返回类型将是错误的