首页 > 解决方案 > android studio java中的字符串连接

问题描述

我试图通过连接无效字段来在 textview 中显示无效的用户凭据。这样我就得到了一个 textview,比如无效的名称、用户名、联系人......一次。我希望一次显示无效字段。

我已经声明了一个字符串并尝试连接,但结果是 textview 显示所有字段,即使它是有效的。

  boolean flag = true;
   String s1,s2,s3,s4,s5;
    boolean checkDataEntered() {
    if (isEmpty(Name)) {
        Name.setBackgroundResource(R.drawable.error);
        s1="Full name";
        flag = false;
 }
if (isEmpty(Username)) {
        Username.setBackgroundResource(R.drawable.error);
        s2="Username";
        flag = false;
    }
   if (isEmail(EmailId)) {
        EmailId.setBackgroundResource(R.drawable.error);
        s3="Email";
        flag = false;
    }
     if (flag) {
        return true;
      } else {
          textView7.setText("Please fill"+s1+ s2+ s3) ;
         return false;
    }
}

标签: string-concatenation

解决方案


这是因为您正在连接else语句中的所有字段。

textView7.setText("Please fill"+s1+ s2+ s3);

但是您的要求是仅当它为空时才将其连接起来。所以你应该试试,

boolean flag = true;
String error = "";
boolean checkDataEntered() {
    if (isEmpty(Name)) {
        Name.setBackgroundResource(R.drawable.error);
        error += "Full name";
        flag = false;
    }
    if (isEmpty(Username)) {
        Username.setBackgroundResource(R.drawable.error);
        error += ",Username";
        flag = false;
    }
    if (isEmail(EmailId)) {
        EmailId.setBackgroundResource(R.drawable.error);
        error += ",Email";
        flag = false;
    }
    if (flag) {
        return true;
    } else {
        textView7.setText("Please fill "+error) ;
        return false;
    }
}

推荐阅读