Intereting Posts
Как связать событие onClick из представления с помощью Android Binding Library и Kotlin? Можно ли смешивать Ktor с Exposed? Как создать несколько разделов текстовых просмотров с помощью нескольких касаний? Как я могу построить SQL-запрос с динамическим именем столбца в пространственной постоянной библиотеке Не удалось найти или загрузить основной класс при использовании определенного пакета Как удалить дубликаты объектов с помощью clearBy из списка в Kotlin? Несколько ошибок в моих фрагментах после обновления библиотеки поддержки до 27.0.0 Каков самый умный способ скопировать карту в Котлин? RxJava Observable.create обертывание наблюдаемых подписки Обработчик () postDelay недоступен для этого кода Котлина, как его исправить? Являются ли типы данных Kotlin построены на примитивных или не примитивных типах данных Java? Котлин: оператор двойной толстой кишки (отражение) Kotlin – Идиоматический способ проверки массива содержит значение Можно получить локальные имена переменных программно в Java или Kotlin? Как работают функции высшего порядка Котлина?

Проверка значений параметров EditText вызывает сбой

У меня есть EditText (inputValue), который принимает numberDecimal формат, который мне нужно проверить. Функция проверки называется:

buttonCalculate.setOnClickListener { pickFunction() } 

Если этот EditText остается пустым, я получаю немедленную сбой программы после каждой нажатия кнопки. Если я заполню форму нулем, затем нажмите кнопку, проверка будет работать, как ожидалось.

  fun pickFunction() { val s: String = inputValue.getText().toString().trim() val d = inputValue.getText().toString().toDouble() if(s.isNullOrEmpty()) { Toast.makeText(applicationContext, "Blank value entered", Toast.LENGTH_SHORT).show() return } if( d <= 0) { Toast.makeText(applicationContext, "Zero value entered", Toast.LENGTH_SHORT).show() return } // go do something with valid value } 

Solutions Collecting From Web of "Проверка значений параметров EditText вызывает сбой"

нажатие кнопки Edittext потому что ваш Edittext не имеет никакого значения, и вы вызываете .trim() и .toDouble() для ссылки на нулевой объект. Перед вызовом методов обрезки и todouble проверьте нулевое состояние проверки.

Используйте toDoubleOrNull () вместо toDouble() или оберните эту строку в try-catch для обработки NumberFormatException .