Умножение 2 чисел без кнопок в Kotlin TextWatcher

Моя цель - автоматически отображать числа, введенные пользователем в текстовом представлении ниже, используя 2 edittext, как показано ниже. Как я могу это сделать? Потому что это давка. Буду признателен, если подробно объясните. Заранее спасибо.

 items3=pronumber.text.toString() // Edittext
    items4=proprice.text.toString()// Edittext


    pronumber.addTextChangedListener ( object:TextWatcher{
        override fun afterTextChanged(p0: Editable?) {

        }

        override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            TODO("Not yet implemented")
        }

        override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            totalprice.text= "Toplam Tutar : "+(items3.toInt()*items4.toInt()).toString() +" TL"  //TextView

        }


    } )

    proprice.addTextChangedListener ( object:TextWatcher{
        override fun afterTextChanged(p0: Editable?) {

        }

        override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            TODO("Not yet implemented")
        }

        override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            totalprice.text= "Toplam Tutar : "+(items3.toInt()*items4.toInt()).toString() +" TL"  //TextView

        }


    } )


    items5=totalprice.text.toString()

Вы должны изменить свой onTextChanged как `totalprice.text= "Toplam Tutar : "+(pronumber.text.toString().toInt()*proprice.text.toString(‌​).toInt()).toString(‌​) + "ТЛ"

mehmet salim ayan 23.12.2020 20:27

Нет, сэр, это не работает.

Bagwell 23.12.2020 20:39

Предположим, вы должны взять новое значение вашего просмотренного текстового представления редактирования (p0) и вставить новое значение во второе текстовое представление редактирования после некоторых изменений.

alexanderktx 23.12.2020 22:29
0
3
173
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы должны изменить свой код, например

        items3=pronumber.text.toString() // Edittext
        items4=proprice.text.toString()// Edittext


        pronumber.addTextChangedListener ( object:TextWatcher{
            override fun afterTextChanged(p0: Editable?) {

            }

            override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            }

            override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
                val first = pronumber.text.toString()
                val second = proprice.text.toString()
                totalprice.text =  if (first.isBlank() || second.isBlank()){
                    "Toplam Tutar : 0 TL"
                } else {
                    "Toplam Tutar : ${first.toInt().times(second.toInt())} TL"
                }

            }


        } )

        proprice.addTextChangedListener ( object:TextWatcher{
            override fun afterTextChanged(p0: Editable?) {

            }

            override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
            }

            override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
                totalprice.text =  if (first.isBlank() || second.isBlank()){
                    "Toplam Tutar : 0 TL"
                } else {
                    "Toplam Tutar : ${first.toInt().times(second.toInt())} TL"
                }
            }


        } )


        items5=totalprice.text.toString()

Другие вопросы по теме