android - 共享首选项无法正确评估?

标签 android if-statement sharedpreferences

当然,这不是一对一的正确代码,但我的问题的要点可以从中收集到。为什么我的 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/

相关文章:

android - 在实际的智能手机上安装 apk

macos - 如果命令带有用户输入 OS X 终端

python - 如何在Python中检查单行if else if else条件

android - 如何通过单击首选项启动 DialogFragment?

Android Twitter4j 给出错误 NoClassDefFoundError : twitter4j. TwitterFactory

java - 在 Android 中发送邮件抛出 java.lang.NoClassDefFoundError : javax. activation.DataHandler

android - 使用 jmDNS 注销 zeroconf 服务

javascript - 为什么我的嵌套 if 和 else 语句不起作用?

flutter - 如何使用共享首选项通过 block 方法保存用户选择的语言

android - 多进程共享首选项在多进程环境中返回错误值