@StringRes,@DrawableRes,@LayoutRes等android注释lint检查与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。