Сравнение строки И и ИЛИ одновременно - PullRequest
0 голосов
/ 24 июня 2018

У меня проблема при сравнении строк с использованием AND и OR. Я хотел бы отобразить ошибку, если комментарий пустой И «правило» равно «A» ИЛИ «B» ИЛИ «C». Это означает, что если «правило» равно чему-то другому, кроме «А», «В» или «С», а «комментарий» пуст, то это нормально, но в другом случае должно отображаться сообщение об ошибке.

В настоящее время && работает только с equals. ("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;
    }

Знаете ли вы, как решить эту проблему?

Спасибо за вашу помощь.

Ответы [ 3 ]

0 голосов
/ 24 июня 2018

Вы можете использовать регулярное выражение для или части:

if(TextUtils.isEmpty(commentaire) && rule.matches("A|B|C")){ ... }
0 голосов
/ 25 июня 2018

попробуйте это,

String comment = commentet.getText().toString();

if ((rule.equals("A") || rule.equals("B") || rule.equals("C")) && TextUtils.isEmpty(commentaire)) {

commentet.setError("Comment is necessary");

return;

}
0 голосов
/ 24 июня 2018

Работает ли это:

    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 в круглые скобки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...