【问题标题】:Android Studio StyleRes annotation gives warning on Kotlin varAndroid Studio StyleRes 注释在 Kotlin var 上给出警告
【发布时间】:2017-07-06 15:31:21
【问题描述】:

我有一个公开可见的 Int 来保存当前的应用程序主题。

var themeId: Int = R.style.AppTheme
    private set

如果我用@StyleRes注释值

@StyleRes var themeId: Int = R.style.AppTheme
    private set

我收到警告

此注解不适用于 void 类型;预期 int 或 long

如果我将变量更改为val,则不会显示错误。 我也可以通过添加 @JvmField 注释来消除错误,但这会消除拥有私有 setter 的能力。

是我错误地使用了注解,还是 Android Studio 上的 Kotlin 有问题?

编辑:

getter 可以被注解

var themeId: Int = R.style.AppTheme
    private set
    @StyleRes get

【问题讨论】:

  • 你试过@field:StyleRes@get:StyleRes吗?
  • 两者给出的信息和以前一样。
  • private @StyleRes var themeId: Int = R.style.AppTheme 怎么样?
  • 同样的消息仍然出现。我刚刚意识到我可以注释 getter,添加到问题中。
  • 所以,它可以按您的预期工作。没关系。因为 kotlin 有很多功能还没有做好。

标签: android-studio annotations kotlin


【解决方案1】:

这是一个已知问题,请参阅KT-16506

【讨论】:

    猜你喜欢
    • 2023-03-04
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多