Gemäß meiner Anforderung muss die Anwendung Zeichenfolgenänderungen entsprechend der Gebietsschemaänderung auf dem Gerät widerspiegeln. Aber hier verwendet meist statische Map, um Enums zu halten, die nach Gebietswechsel reinitialisieren werden.enum static map funktioniert nicht für die Lokalisierung, wenn der Benutzer die Sprache des Gerätes ändert
Im Folgenden finden Sie Beispielcode:
public enum Color{
Green(R.string.green),
Warning(R.string.red),
ENSLow(R.string.blue),
Zero(R.string.orange),
private static Map<String, Color> colorMap = new HashMap<String, Color>();
private final int mResId;
}
static {
for Color color : values()) {
colorMap .put(appContext.getResources().getString(state.mResId), color);
}
}
Color(int resId) {
mResId = resId;
}
Bitte empfehlen Sie mir, wie kann ich den Einsatz von statischen Karte für Farbe vermeiden?
Sprechen Sie die Karte mit der Ressource-ID: 'Map' statt dem aufgelöste 'String' und ein Verfahren zu Ihrer Enumeration hinzufügen, um es bei Bedarf. –
Anyonymous2324
Warum brauchen Sie das? Die aktuelle Aktivität Ihrer App wird bei einer Gebietsschemaänderung neu erstellt, daher werden die Zeichenfolgen neu initialisiert. –