找不到设置 setAlpha 的属性设置方法

6
这是创建 alpha 动画对象的 Java 代码。
ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(myView, "alpha", 0.5f, 0f);

这是用 Kotlin 编写的执行相同操作的代码。

val objectAnimator = ObjectAnimator.ofFloat(myView, "alpha", 0.5f, 0f)

我将上述Java代码转换为Kotlin后,当我在鼠标悬停在错误出现的行上时,Android Studio会给出一个红色的错误警告,警告信息如下:

无法在java.lang.Void中找到属性设置器方法setAlpha

尽管IDE给出了此错误,但我仍然能够编译和运行它。有任何想法为什么在Kotlin中会出现这个错误以及如何消除此错误警告吗?


尝试使用View.ALPHA而不是alpha作为方法参数。也许会有帮助。 - 0xFEFFEFE
1个回答

12

这是因为你的 myView 是可空类型,例如 View?。 为了消除此错误,请将您的视图转换为非空类型 (myView!!):

val objectAnimator = ObjectAnimator.ofFloat(myView!!, "alpha", 0.5f, 0f)

2
节省了我的时间 :) - ruitercomp
猜得不错,但在我的情况下不起作用。但是代码仍然可以编译,出现原始错误。可能是另一个AS / kotlin的bug - 我相信他们会在几年内修复它(就在Google决定切换到另一种“更好”的语言时)。 - SMBiggs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接