2

もちろん、それは 1 対 1 のコードでは正しくありませんが、私の質問の要点はこれから収集できます。if ステートメントの結果が常に true になるのはなぜですか? 設定ファイルのファイルエンコーディングと関係があると思いますか?両方の最後に .toString() を追加してみました。「2.4」と「2.4」が返されることを確認するために、Toast をダンプしました。

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;
}
4

2 に答える 2

3

文字列比較.equalsではなく andを使用する必要があるためです。!=

于 2011-02-28T00:56:32.680 に答える
1

文字列を常に比較するstring1.equals(string2)

于 2011-02-28T00:56:43.133 に答える