我使用 AND 和 OR 比较字符串时遇到问题。 如果注释为空并且"规则"等于"A"或"B"或"C",我想显示错误。这意味着,如果"规则"等于"A"、"B"或"C"以外的任何内容,并且"注释"为空,那很好,但在其他情况下,它应该显示错误。
此时,&&仅与等于一起工作。("C"( 和 isEmpty。我无法让它同时与"A"和"B"一起工作......
结果是,如果等于 A 并且注释不为空,则仍然会出现错误,对于 B 相同,对于 C 工作正常......
String comment = commentet.getText().toString();
if (rule.equals("A") || rule.equals("B") || rule.equals("C") && TextUtils.isEmpty(commentaire)) {
commentet.setError("Comment is necessary");
return;
}
你知道怎么解决这个问题吗?
感谢您的帮助。
这是否有效:
String comment = commentet.getText().toString();
if ((rule.equals("A") || rule.equals("B") || rule.equals("C")) && TextUtils.isEmpty(commentaire)) {
commentet.setError("Comment is necessary");
return;
}
基本上把你的A,B,C支票放在括号里。
您可以将正则表达式用于 or 部分:
if(TextUtils.isEmpty(commentaire) && rule.matches("A|B|C")){ ... }
试试这个,
String comment = commentet.getText().toString();
if ((rule.equals("A") || rule.equals("B") || rule.equals("C")) && TextUtils.isEmpty(commentaire)) {
commentet.setError("Comment is necessary");
return;
}