2011-02-28 9 views
2

Bien sûr, ce code n'est pas 1-for-1 correct, mais l'essentiel de ma question peut en être tiré. Pourquoi le résultat de mon instruction if est-il toujours vrai? Je suppose qu'il a quelque chose à voir avec l'encodage de fichier du fichier de préférences? J'ai essayé d'ajouter .toString() à la fin des deux. J'ai sorti un Toast pour voir que "2.4" et "2.4" sont ce qui est retourné.Préférences partagées n'évaluant pas correctement?

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

Répondre

1

toujours comparer les chaînes avec string1.equals(string2)

+0

Parfait. Plus j'apprends, plus je réalise que je dois apprendre. Je vous remercie. –

3

Parce que vous devez utiliser .equals et non != pour la chaîne compare.

+0

Merci pour la réponse. –

Questions connexes