Android сравнить строки игнорировать регистр - PullRequest
4 голосов
/ 08 января 2012

resultString - это параметр, который я получаю из sqlite

resultString = result.getString(result.getColumnIndex(1));

Я хочу сравнить регистр игнорирования с пользовательским вводом, следующий код, который я использую.Но это не работает.

Например, в базе данных я сохраняю имя пользователя «Джордж». Когда я вхожу в систему, мне нужно точно ввести «Джордж». «Джордж» не работает.

Вот мой код для сравнения.

if (userName.equalsIgnoreCase(resultString)) {
    return true;
}

В чем может быть проблема?

Ответы [ 3 ]

7 голосов
/ 08 января 2012

Пожалуйста, попробуйте следующий код,

if (userName.trim().equalsIgnoreCase(resultString.trim())) 
{     
       return true; 
} 
2 голосов
/ 08 января 2012

Ваш код должен работать, если разница только в этом.Я подозреваю, что у вас есть пробелы в начале или в конце.Попробуйте следующее:

if (userName.trim().equalsIgnoreCase(resultString.trim())) {
    return true;
}
1 голос
/ 09 января 2012

Я был в панике и не пытался распечатать результат. Проблема была в моем запросе.

   String whereClause = DatabaseHelper.USER_COL + " name =?";

Строка результата всегда пуста, если входные данные не совпадают с данными.

Чтобы исправить это, я следую инструкции в этом посте sqlite, как проблема в Android

   String whereClause = DatabaseHelper.USER_COL + " LIKE ?";

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