@StringRes、@DrawableRes、@LayoutRes等android注释使用kotlin参数进行lint检查
假设您有这样一个带有默认参数的数据类@StringRes、@DrawableRes、@LayoutRes等android注释使用kotlin参数进行lint检查,android,kotlin,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.dra
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。这是Android Studio中的一个问题,在3.1中得到了修复。检查3.1-beta4不仅仅是你,这个问题已经出现了好几个月了。我有一个库,我想用这些注释来更新它,但当您使用Android stuido 3.3 beta 4从Kotlin code.2018调用方法时,它们似乎不会产生lint错误,至少对于枚举参数来说,它们仍然不起作用。它确实适用于正常功能