Общие настройки не оцениваются правильно? - PullRequest
2 голосов
/ 28 февраля 2011

Конечно, это не правильный код 1-к-1, но суть моего вопроса можно понять из этого. Почему результат моего утверждения if всегда верен? Я предполагаю, что это как-то связано с кодировкой файла настроек? Я пытался добавить .toString () в конце обоих. Я выбросил тост, чтобы увидеть, что «2.4» и «2.4» - это то, что возвращается.

if (appPrefs.getAppVer() != getAppVerName()) {
   //TODO display Changes Pop-up
}

public String getAppVer() {
   return appSharedPrefs.getString("appVer", "");
}

public String getAppVerName() {
   return getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
}

Ответы [ 2 ]

3 голосов
/ 28 февраля 2011

Поскольку вам нужно использовать .equals, а не != для сравнения строк.

1 голос
/ 28 февраля 2011

Всегда сравнить строки с string1.equals(string2)

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