验证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 }
按钮点击让你崩溃,因为你的Edittext
没有任何价值,你在空对象引用上调用.trim()
和.toDouble()
。 调用trim和todouble方法之前,请检查null检查条件。
使用toDoubleOrNull()而不是toDouble()
或在try-catch
包装该行以处理NumberFormatException
。
- java.lang.IllegalStateException不确定它是否与数据类型?
- 如何将Java文件转换为Kotlin文件?
- 如何改变Kotlin中compareBy的顺序
- 如何使Android Studio实时检查了解@ParametersAreNonnullByDefault?
- RxJava Kotlin如何从单个可观察<String>中获得分离的对象
- ArrayAdapter.clear kotlin
- Android检查文本输入(时间)是否与格式匹配
- 在Instant App中应用插件“kotlin-android”会导致“null不能转换为非空类型的com.android.build.gradleBasePlugin”
- Android Kotlin中的Moshi – 将ENUM作为MutableMap键在非集成化时转换为字符串