验证EditText值会导致应用崩溃

时间:2017-10-16 21:17:29

标签: android kotlin

我有一个接受numberDecimal格式的EditText(inputValue),我需要验证它。验证函数由:

调用
  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保留为空白,则每次单击按钮后都会立即崩溃。如果我用零填写表单,然后单击按钮,验证按预期工作。

sed 's/[^[:space:]=]*=//g' file > newfile

2 个答案:

答案 0 :(得分:1)

按钮点击会让您崩溃,因为Edittext没有任何价值,您在空对象引用上调用.trim().toDouble()。请在调用trim和todouble方法之前检查空检查条件。

答案 1 :(得分:0)

使用toDoubleOrNull()代替toDouble()或将try-catch中的该行换行以处理NumberFormatException