Kotlin Annotation IntDef

Ich habe dieses Codebeispiel:

class MeasureTextView: TextView {
    constructor(context: Context?) : super(context)
    constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr)
    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int, defStyleRes: Int) : super(context, attrs, defStyleAttr, defStyleRes)

    companion object{
        val UNIT_NONE = -1
        val UNIT_KG = 1
        val UNIT_LB = 0            
    }

    fun setMeasureText(number: Float, unitType: Int){

        val suffix = when(unitType){
            UNIT_NONE -> {
                EMPTY_STRING
            }
            UNIT_KG -> {
                KG_SUFIX
            }
            UNIT_LB -> {
                LB_SUFIX
            }
            else -> throw IllegalArgumentException("Wrong unitType passed to formatter: MeasureTextView.setMeasureText")
        }

        // set the final text
        text = "$number $suffix"
    }
}

Ich möchte in der Lage sein, zur Kompilierungszeit die automatische Vervollständigung in Verbindung mit IntDef-Annotation zu verwenden. Wenn ich also @ aufrufsetMeasureText(...), die statischen Variablen werden als Optionen für das Argument dieser Methode angezeigt.

Ich habe danach gesucht und konnte nicht feststellen, ob Kotlin diese Annotationen im Java-Stil unterstützt (z. B. intdef). Also habe ich es ausprobiert und eine Anmerkung dazu gemacht, aber es wird nicht in der Autovervollständigung angezeigt.

Meine Frage: - Wird Java Annotation IntDef in Kotlin (neueste Version) unterstützt?

Wenn es so ist, wie kann ich es in der Android Studio IDE einschalten (wenn es funktioniert, kann ich den Compiler nicht dazu bringen, es vorzuschlagen).

Wenn dies nicht der Fall ist, gibt es einen Kotlin-Weg, um diese Kompilierungszeit zu überprüfen

Antworten auf die Frage(8)

Ihre Antwort auf die Frage