Je suis un développement de noob à android et j'essaie d'utiliser des préférences partagées pour obtenir des valeurs pour un double pendant onCreate. Cependant, mon code pour ce faire semble fonctionner seulement la première fois que je redémarre mon application. Au cours des redémarrages suivants, le code ne fonctionne pas et ignore la partie if/else de mon code. C'est très frustrant car si ça marche une fois ça devrait marcher à chaque fois. Toute aide est grandement appréciée.Pourquoi mon instruction if/else ne fonctionne-t-elle pas?
public void LoadPreferences(){
double portfoliocurrency1 = null;
SharedPreferences portfoliopreferences = getPreferences(MODE_PRIVATE);
String isuser1created = portfoliopreferences.getString("U1C", "");
if(isuser1created.equals("yes")){
String savedportfolioname = portfoliopreferences.getString("PN1", "");
String saveddenomination = portfoliopreferences.getString("DN1", "");
String savedporfoliocurrency = portfoliopreferences.getString("PC1", ""); //<--Always either "usd", "inr", or "eur".
Log.d("test","SPConLoad=" + savedporfoliocurrency); //<--Returns correct value on every restart.
Log.d("test","USD=" + currencyUSD); //<--Returns correct value on every restart.
Log.d("test","EUR=" + currencyEUR); //<--Returns correct value on every restart.
pn1 = savedportfolioname;
denomination1 = saveddenomination;
if(savedporfoliocurrency=="usd"){ //<--If/else statement only works on first restart. For some reason it is skipped on subsequent restarts.
portfoliocurrency1 = currencyUSD;
Log.d("test","PC1USD=" + currencyUSD); //<--Returns correct value on first restart.
}else if(savedporfoliocurrency=="eur"){
portfoliocurrency1 = currencyEUR;
Log.d("test","PC1EUR=" + currencyEUR); //<--Returns correct value on first restart.
}else if(savedporfoliocurrency=="inr"){
portfoliocurrency1 = currencyINR; //<--Returns correct value on first restart.
}
Log.d("test","PC1onLoad=" + portfoliocurrency1); //<-- Only returns correct value during first restart. Always returns null on subsequent restarts.
}
jetez un oeil à http://stackoverflow.com/questions/767372/java-string-equals-versus – vfcosta