У меня есть этот образец коды:Котлин Аннотации IntDef
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"
}
}
Я хочу, чтобы иметь возможность использовать во время компиляции, автоматическое заполнение особенность в сочетании с IntDef аннотацией, поэтому, когда я взываю setMeasureText(...)
, статических переменные отображаются как параметры аргумента этого метода.
Я искал об этом, и я не мог найти, поддерживает ли Kotlin эти аннотации в стиле java (например, intdef). Поэтому я попробовал это и сделал аннотацию для этого, но он не будет показан в автозавершении.
Мой вопрос: - Является ли Java аннотаций IntDef поддерживается в Котлин (последняя версия)
Если да, то как я могу включить в положение ON в Android Studio IDE (если он работает, я могу» t получить компилятор, чтобы предложить его).
Если это не так, есть ли Котлин-способ делают эту компиляцию проверки времени
[Почему вы не используете 'enum'] (http://stackoverflow.com/questions/5143256/why-was-avoid-enums-where-you -только-потребность-Ints-удаленной от-андроидов-ЭКСПЛУАТАЦИОННЫЕ)? – miensol
нет причины просто жалкая. Репутация была обескуражена пару лет назад Google из-за соображений производительности. Я предпочитаю статические константы с аннотациями intdef. Но когда я перешел на Kotlin, эта функция исчезла –
Возможный дубликат [Как использовать андроиды поддержки Android в kotlin?] (Http://stackoverflow.com/questions/35976002/how-to-use-android-support-typedef -annotations-in-kotlin) –