空的editText导致应用在尝试计算时崩溃

时间:2019-02-17 07:45:55

标签: java android

我有一个带有4个EditText和一个按钮的应用程序,应该可以计算给定的输入

其中之一留空时,应用程序崩溃

当EditText留空时,如何验证引发错误

3 个答案:

答案 0 :(得分:3)

您可以使用TextUtils.isEmpty(stringData),它是首选。对于string.isEmpty(),空字符串值将引发NullPointerException

TextUtils将始终返回boolean值。在代码中,前者只需调用另一个就等效,再加上一个空检查。

EditText myEditText1 = findViewById(R.id.editText1);
EditText myEditText2 = findViewById(R.id.editText2);
EditText myEditText3 = findViewById(R.id.editText3);
EditText myEditText4 = findViewById(R.id.editText4);

String myData1 = myEditText1.getText().toString();
String myData2 = myEditText2.getText().toString();
String myData3 = myEditText3.getText().toString();
String myData4 = myEditText4.getText().toString();

if(!TextUtils.isEmpty(myData1) && !TextUtils.isEmpty(myData2) && !TextUtils.isEmpty(myData3) && !TextUtils.isEmpty(myData4)) {
    //use edit text data
} else {
    Toast.makeText(this, "Fields value can not be empty",Toast.LENGTH_SHORT).show();
}

答案 1 :(得分:0)

单击按钮时,检查EditText是否为空

尝试下面的代码

if(editText.getText().toString.length() == 0){
        // Display toast 
        Toast.makeText(getApplicationContext(), "Please enter something !",Toast.LENGTH_LONG).show();
}

或者您可以使用名为AwesomeValiation

的库

答案 2 :(得分:0)

首先,您需要将编辑文本和按钮与ID关联起来

EditText editText1 = findViewById(R.id.editText1);
EditText editText2 = findViewById(R.id.editText2);
EditText editText3 = findViewById(R.id.editText3);
EditText editText4 = findViewById(R.id.editText4);

现在,您可以使用以下代码从editText中获取值

 String data = editText.getText();

要检查空值

if (data.isEmpty ){

Toast.makeText(getApplicationContext(),"the data is "+data,Toast.SHORT_LENGTH).show;

}