2017-10-16 34 views
0

我有一個EditText(inputValue)接受numberDecimal格式,我需要驗證。驗證功能的調用方式如下:驗證EditText值崩潰的應用程序

 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 

} 
+0

修好了,謝謝指出。 – Alan

回答

1

點擊按鈕讓你崩潰,因爲你的Edittext可是沒有任何價值,你叫.trim().toDouble()對空對象引用。在調用trim和todouble方法之前,請檢查null檢查條件。