===
является оператором равенства тождеств. Вы должны использовать =
, оператор присваивания, для изменения значений.
Очень неуклюже использовать Strings из TextView в качестве метода хранения целочисленного значения. Было бы намного чище использовать свойство для стоимости. (В более сложной ситуации вы бы поместили значение в LiveData ViewModel.)
Вы можете использовать функции принуждения для ограничения ваших значений.
Оборачивая это вместе:
private var integer1 = 0
private var integer2 = 0
fun increaseInteger1() {
integer1 = (integer1 + 1).coerceAtMost(10)
display_number_1(integer1)
}
fun decreaseInteger1() {
integer1 = (integer1 - 1).coerceAtLeast(0)
display_number_1(integer1)
}
//...
Вы можете альтернативно использовать min / max вместо принудительных функций:
integer1 = min(10, integer1 + 1) // increment
integer1 = max(0, integer1 - 1) // decrement
Или вы можете дать свойствам пользовательский установщик, который заставляет их оставаться в пределах, которые вы хотите:
private var integer1: Int = 0
set(value) { field = value.coerceIn(0..10) }
private var integer2: Int = 0
set(value) { field = value.coerceIn(0..10) }
//...
fun increaseInteger1() {
display_number_1(++integer1)
}
fun decreaseInteger1() {
display_number_1(--integer1)
}