Я пытаюсь сделать простой калькулятор, но кнопка равенства не работает должным образом, она не выполняет никаких операций, даже если оператор if равен true. Это код
var value1: Float = 0f
var value2: Float = 0f
var operator: String = "n"
val input = expression.text.toString().trim()
//this is the adding button the subtracting, multiplying, and dividing are basically the exact code
plus.setOnClickListener {
if (input.isNullOrBlank()) {
expression.text = ""
} else {
operator = "sum"
value1 = expression.text.toString().toFloat()
expression.text = ""
}
}
//equals button
equals.setOnClickListener {
val input2 = expression.text.toString().trim()
if (!input2.isNullOrBlank()) {
value2 = expression.text.toString().toFloat()
// this is the textView and it always shows up as n
expression.text = operator
//it never goes in any of these, I don't know if I'm setting it up wrong in the action buttons (add, sub, multi, div)
if (operator == "sum") {
var s = value1 + value2
expression.text = s.toString()
operator = "n"
}
if (operator == "sub") {
var r = value1 - value2
expression.text = r.toString()
operator = "n"
}
if (operator == "div") {
var d = value1 / value2
expression.text = d.toString()
operator = "n"
}
if (operator == "multi") {
var m = value1 * value2
expression.text = m.toString()
operator = "n"
}
}
}
Почему это происходит? Я не знаю, неправильно ли я настраиваю оператор String или я что-то не так делаю.
Я хотел получить его, чтобы, если значения не вменялись, чем оператор или кнопка равно не будет работать как на калькуляторе телефона