当然,这不是一对一的正确代码,但我的问题的要点可以从中收集到。为什么我的 if 语句的结果总是 true?我猜这与首选项文件的文件编码有关?我尝试将 .toString() 添加到两者的末尾。我已经转储了一个 Toast 来查看返回的内容是“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;
}
最佳答案
因为您需要使用 .equals
而不是 !=
进行字符串比较。
关于android - 共享首选项无法正确评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5137210/