hiwa doski Ответов: 1

Почему при добавлении “addtextchangedlistener(textwacther)” в мой edittext он заставляет edittext не принимать никаких входных данных и аварийно завершать работу?


когда я добавляю "addTextChangedListener(textWacther)" в свой editText и пытаюсь запустить приложение, а при вводе чего-то в это поле оно просто закрывает приложение, и разве мой способ включить кнопку назад не правильный?

class MainActivity : AppCompatActivity() {
lateinit var num1TextE: EditText
lateinit var resultText: TextView
lateinit var plusBtn: Button


override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    num1TextE = findViewById(R.id.firstNum_TextE)
    plusBtn = findViewById(R.id.plus_btn)
    resultText = findViewById(R.id.result_TextV)
    resultText.visibility = View.GONE

    plusBtn.isClickable= false
    plusBtn.isEnabled = false
    num1TextE.addTextChangedListener(textWatcher)




    plusBtn.setOnClickListener {
        var num1 = num1TextE.text.toString().toInt()
        var num2 = num2TextE.text.toString().toInt()
        resultText.visibility = View.VISIBLE
        resultText.text = "Result is ${num1 + num2}"

   }
}

var textWatcher = object : TextWatcher {
    override fun afterTextChanged(p0: Editable?) {

    }

    override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }

    override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
        var test: String = num1TextE.text.toString()
        if(! test.isEmpty()) {
            plusBtn.isClickable = true
            plusBtn.isEnabled = true
        }
       }
    }
}



Лог

 2019-07-31 17:02:01.633 3078-3078/com.example.mycalculator E/InputEventSender: Exception dispatching finished signal.
2019-07-31 17:02:01.633 3078-3078/com.example.mycalculator E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
2019-07-31 17:02:01.637 3078-3078/com.example.mycalculator E/MessageQueue-JNI: kotlin.NotImplementedError: An operation is not implemented: not implemented
       at com.example.mycalculator.MainActivity$textWatcher$1.beforeTextChanged(MainActivity.kt:101)


Что я уже пробовал:

я много чего перепробовал, но ничего не вышло.

1 Ответов

Рейтинг:
10

Richard Deeming

Цитата:
at com.example.mycalculator.MainActivity$textWatcher$1.beforeTextChanged(MainActivity.kt:101)
Цитата:
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
Либо добавьте реализацию к этому методу, либо удалите его. TODO вызовите и оставьте метод пустым.


hiwa doski

Спасибо, это сработало.