验证EditText输入

时间:2010-12-10 03:14:49

标签: android

当用户单击按钮时,尝试确认EditText工具不为空。只要EditText不为空,代码就可以运行。但是只要它是空白的,我的程序就会崩溃。我有什么想法我做错了吗?感谢。

if (et1.getText().toString() != null) {   

     inpt_weight = Integer.parseInt(et1.getText().toString()); 
     Toast.makeText(getBaseContext(), "weight is not null", Toast.LENGTH_LONG).show(); 


      } else { 

        inpt_weight = 0;
        Toast.makeText(getBaseContext(), "weight is null", Toast.LENGTH_LONG).show(); 

      };

3 个答案:

答案 0 :(得分:1)

我认为它试图将空字符串(“”)解析为一个不可能的整数 尝试:

if (!et1.getText().toString().equalsIgnoreCase("") && et1.getText().toString() != null) 

答案 1 :(得分:1)

这将是一个好方法:

if(et1.getText().toString().trim().length()==0){
 Log.d("No data","No text found in the edit text");
}

这也会检查用户是否只放了空格。

在您的代码中,我看到您正在将文本转换为数字。 在这种情况下,要么为编辑文本添加正确的IMEMethod以便它只使用数字,或者在代码中检入用户仅输入数字字符,否则如果用户输入非数字,则在转换时最终会出现NumberFormatException字符。

答案 2 :(得分:1)

请尝试以下代码..

if(et1.getText().toString().equals("")){
Toast.makeText(getApplication(), "weight is null", Toast.LENGTH_SHORT).show();}
else{
  inpt_weight = Integer.parseInt(et1.getText().toString()); 
  Toast.makeText(getApplication(), "weight is not null & it is : "+inpt_weight,Toast.LENGTH_SHORT).show();
}