没有类型参数可以用于有趣的findViewById(p0:Int):View

时间:2017-11-06 17:15:18

标签: android kotlin

我试图像这样在Kotlin上声明一个imageView:

view.findViewById<ImageView>(R.id.tabImage)).setImageResource(selector)

但我总是得到这个错误,

Error:(30, 27) No type arguments expected for fun findViewById(p0: Int): View!

有人可以帮助PLZ吗? THX

6 个答案:

答案 0 :(得分:1)

ImageView imageView = view.findViewById(R.id.tabImage) as ImageView
imageView.setImageResource(selector)

答案 1 :(得分:1)

也许一个或多个依赖项将SDK替换为旧版本?请检查您的依赖项和存储库。

我与org.jetbrains.anko:anko-sdk25-coroutines:0.10.0-beta-2com.android.tools.build:gradle:3.0.1存在同样的问题,但com.android.tools.build:gradle:2.3.3工作正常。

我通过升级到org.jetbrains.anko:anko-sdk25-coroutines:0.10.4解决了这个问题。现在它适用于com.android.tools.build:gradle:3.0.1

答案 2 :(得分:0)

应该是

ImageView imageView = view.findViewById<ImageView>(R.id.tabImage)  
imageView.setImageResource(selector)

答案 3 :(得分:0)

试试这个

private var aImageView : ImageView? = null
aImageView = findViewById(R.id.imageview) as ImageView

答案 4 :(得分:0)

试试这个

val tabimage = findViewById(R.id.tabImage) as ImageView
tabimage.setImageResource(selector)

答案 5 :(得分:0)

我遇到了同样的问题,并使用了安全的强制转换'?'解决了。​​

private var imageView: ImageView? = null

。 。

   imageView = view.findViewById(R.id.tabImage)  as? ImageView
   imageView.setImageResource(selector)