Dies scheint ein bekanntes Problem zu sein (http://code.google.com/p/android/issues/detail?id=38622 ich auf eine mögliche Lösung kam so:.
Da das Problem in dem Symbol und nicht der Währungscode, löste ich dieses Problem einer Schaffung statisch Map
wo der Schlüssel ist CurrencyCode und der Wert ist Symbol.
public static final Map<String, String> MYCURRENCIES = new HashMap<String, String>(){
{
put("EUR","€");
put("USD","$");
(..)
}
};
Um all (oder fast) die Währungen Codes in den Gegenden Informationen zu erhalten Sie so etwas tun können:
for (Locale ll: Locale.getAvailableLocales()){
try {
Currency a = Currency.getInstance(ll);
Log.v("MyCurrency",a.getCurrencyCode()+"#"+a.getSymbol());
}catch (Exception e){
// when the locale is not supported
}
}
Nach dem Erstellen Sie Karte mit dem Currency und Symbol Sie müssen nur so etwas wie dieses:
Currency currency = Currency.getInstance(Locale.getDefault());
String curSymbol = MYCURRENCIES.get(currency.getCurrencyCode());
Vielleicht verwenden Sie UTF-8 anstelle von UTF-16? Ich sehe nicht, wie das passieren könnte, aber es ist ein Gedanke. – AedonEtLIRA
ich denke, das ist eine gute Lösung für Ihre Antwort Currency.getInstance (neues Gebietsschema ("Ihre Sprache", countryCode)). GetSymbol(); –
Sie könnten Antwort auf Ihre Frage von diesem erhalten [link] (https://stackoverflow.com/questions/16832655/getting-currency-code-if-we-have-only-country-code-in-database/16833419# 16833419) –