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

问题描述 投票:0回答:1

我开始使用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

我在做什么错?

非常感谢和问候。

android kotlin imageview extension-function
1个回答
0
投票
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,否则返回类型将是错误的

© www.soinside.com 2019 - 2024. All rights reserved.