Как применить аннотацию поддержки @IntRange() к средству установки свойств Kotlin в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как применить аннотацию поддержки @IntRange() к средству установки свойств Kotlin в Android

Сообщение Anonymous »

Я пытался выяснить, как применить @IntRange(from = 1) к моему свойству Kotlin. После нескольких неудачных попыток я наконец создал нужный класс на Java и преобразовал его в Kotlin в Android Studio. Вот мой класс Java:

Код: Выделить всё

import android.support.annotation.IntRange;

public class SimpleThing {

private int val;

@IntRange(from = 1)
public int getVal() {
return val;
}

public void setVal(@IntRange(from = 1) int val) {
this.val = val;
}

}
а это автоматическое преобразование, которое я получил из Android Studio:

Код: Выделить всё

import android.support.annotation.IntRange

class SimpleThing {

@get:IntRange(from = 1)
var `val`: Int = 0

}
Похоже, что @IntRange применяется к методу получения, но не к методу установки. Можно ли применить эту аннотацию и к установщику, чтобы появилось соответствующее предупреждение о вине. В настоящее время я только что переопределил метод set, чтобы выдать исключение IllegalArgumentException следующим образом:

Код: Выделить всё

@get:IntRange(from = 1)
var rowSize: Int = 3
set(value) {
if (value < 1) throw IllegalArgumentException("row size must be at least 1")
field = value
notifyDataSetChanged()
}
Я уже пробовал добавить @set:IntRange(from = 1), но получаю ошибку. Эта аннотация не применима к типу void потому что он пытается применить @IntRange к возвращаемому значению (которое является недействительным в случае установщика), а не к аргументу установщика.

Подробнее здесь: https://stackoverflow.com/questions/501 ... in-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»