@StringRes,@ DrawRes,@ LayoutRes等android注解lint检查与kotlin参数

时间:2017-10-30 13:32:49

标签: android kotlin

假设您有这样的具有默认参数的数据类

data class Info(
        @DrawableRes
        val iconRes: Int = 0,
        @StringRes
        val stringRes: Int = 0,
        @LayoutRes
        val layoutRes: Int = 0)

所以你可以创建像

这样的数据类
    val data = Info(
        iconRes = R.drawable.icon, 
        stringRes = R.string.text,
        layoutRes = R.layout.layout)

在这种情况下,没有任何lint错误

但是当我尝试使用默认参数时会发生lint错误:

val data = Info(
        //here is expected resource of type drawable error
        stringRes = R.string.text
        layoutRes = R.layout.layout)

似乎它在参数中使用位置,而不是确切的类型和&名称。

我尝试使用@param:DrawableRes这样的显式注释,但效果相同。

我可以以某种方式解决这个问题吗?我使用最新的Android Studio 3.0。

1 个答案:

答案 0 :(得分:2)

这是Android Studio中的一个问题,已在3.1中修复。检查3.1-beta4