列表上的Android资源注释

时间:2019-05-15 23:13:48

标签: android kotlin annotations lint

有没有一种方法可以用资源注释来注释整数列表,以便当我错误地使用方法的整数返回值时,lint会显示一个错误?

示例({setTextColor()仅需要@ColorInt):

fun useColor() {
    val textView = TextView(null)
    textView.setTextColor(getColor()) // This correctly shows an error
    textView.setTextColor(getColorList()[0]) // Can I make this show an error too? 
}

@ColorRes
fun getColor() : Int {
    return R.color.black
}

@ColorRes // any way to specify this differently?
fun getColorList() : List<Int>{
    return arrayListOf(R.color.black)
}

1 个答案:

答案 0 :(得分:0)

我实际上刚刚动了动脑子,这是我的解决方法。不回答问题,但可以解决问题。只需将收益降低为单个值即可:

fun useColor() {
    val textView = TextView(null)
    textView.setTextColor(getColorValue(0)) // Correctly show error
}

@ColorRes
fun getColorValue(index : Int) : Int {
    return arrayListOf(R.color.black)[index]
}