Da 2 giorni stò cercando di risolvere un problema, vado subito al sodo.
Ho una ListView popolata da stringhe che rappresentano le varie "valute", quando viene selezionata una, la memorizzo nella SharedPreference per poi utilizzarla nelle varie TextView...in questo modo, ad esempio:
SharedPreferences prefs = getSharedPreferences("currency", MODE_PRIVATE);
if (itemValue.equals(getString(R.string.c))){
NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US);
prefs.edit().putString("currency_code", nf.getCurrency().getCurrencyCode()).commit();
finish();
}
fin qui tutto ok.
Poi quando vado a caricarla faccio così:
inizializzo nell'onCreate la Shared
sharedPrefs = getActivity().getSharedPreferences("currency", Context.MODE_PRIVATE);
poi nel metodo imposto la valuta alla TextView:
String defaultCurrency = Currency.getInstance(Locale.getDefault()).getCurrencyCode();
NumberFormat ca = NumberFormat.getCurrencyInstance();
ca.setCurrency(Currency.getInstance(sharedPrefs.getString("currency_code", defaultCurrency)));
String valore = ca.format(valoredouble );
tvT.setText(valore );
a questo punto il valore della TextView viene rappresentato così:
US$ 1.000,00
invece, in questo caso Locale.US dovrebbe essere così: $ 1,000.00
Forse il problema è il NumberFormat?
Grazie per l'aiuto