检查字符串为空或为空-逻辑

时间:2018-11-22 03:50:42

标签: java android string logic is-empty

本文(Check String is NULL or EMPTY)的继续,我设法成功地编写了if和else逻辑。

但是,我的第三个逻辑不起作用。我的第三个逻辑是类似同时检查两个空字段,如果它们为空,则会弹出错误图标。

下面是我的代码:

    private Boolean checkEmptyField(){
    Boolean result = false;

    String subject = querySubject.getText().toString();
    String message = queryText.getText().toString();

    if(subject.isEmpty()){
        Toast.makeText(this, "Subject/Type field must not be blank!", Toast.LENGTH_SHORT).show();
        querySubjectInfoIcon.setVisibility(View.VISIBLE);
    }else if(message.isEmpty()){
        Toast.makeText(this, "Content field must not be blank!", Toast.LENGTH_SHORT).show();
        newQueryInfoIcon.setVisibility(View.VISIBLE);
    }else if(subject.isEmpty() && message.isEmpty()){
        Toast.makeText(this, "Fields are mandatory & must not be blank!", Toast.LENGTH_SHORT).show();
        newQueryInfoIcon.setVisibility(View.VISIBLE);
        querySubjectInfoIcon.setVisibility(View.VISIBLE);
    }
    else{
        result = true;
    }
    return result;
}

当我运行该应用程序并有意将两个字段留空时,它仅检查并在作为主题字段的一个字段上显示图标错误。这意味着只有一个逻辑(if subject.isEmpty)正在运行。

因此,我需要一些建议来指导我如何成功运行第三个逻辑。谢谢。

4 个答案:

答案 0 :(得分:2)

首先将两种情况都放在测试中,一旦if匹配,它将不会输入任何else。喜欢,

if(subject.isEmpty() && message.isEmpty()) {
    Toast.makeText(this, "Fields are mandatory & must not be blank!", Toast.LENGTH_SHORT).show();
    newQueryInfoIcon.setVisibility(View.VISIBLE);
    querySubjectInfoIcon.setVisibility(View.VISIBLE);
} else if(subject.isEmpty()) {
    Toast.makeText(this, "Subject/Type field must not be blank!", Toast.LENGTH_SHORT).show();
    querySubjectInfoIcon.setVisibility(View.VISIBLE);
} else if(message.isEmpty()) {
    Toast.makeText(this, "Content field must not be blank!", Toast.LENGTH_SHORT).show();
    newQueryInfoIcon.setVisibility(View.VISIBLE);
} else {
    result = true;
}

答案 1 :(得分:0)

一旦您的第一个if条件触发,下面的else if就不会触发。首先在subject.isEmpty() && message.isEmpty()中检查if,然后再检查其他两个条件。

答案 2 :(得分:0)

  • 您可以使用以下方法进行检查:

    if (userName != null && !userName .isEmpty() && !userName .equals("null")) 
    
  • 您还有另一个选择

    if (TextUtils.isEmpty(null)) {
    
    //  null value
    
    return; // or break, continue, throw
    
    }else{
    
    // string has value
    
    }
    
    Log.i("TAG", myString);
    

答案 3 :(得分:0)

使用此

if(subjet == null){
    //blablabla
}

if(message == null){
    //blablabla
}