Moin!
Usecase: Ich habe eine Klasse die bei toString() sprachabhängige Strings zurück geben soll. Die entsprechenden Strings sollen in einer Stringresource sein.
Dafür habe ich Application abgeleitet:
Java
public class MyApp extends Application {
public String getStringResourceByName(String aString) {
String packageName = getPackageName();
int resId = getResources().getIdentifier(aString, "string", packageName);
if(resId == 0) {
return aString;
}
return getString(resId);
}
private static MyApp _instance;
public static MyApp Instance() {return _instance;}
@Override
public void onCreate(){
super.onCreate();
_instance = this;
}
}
Alles anzeigen
Der packageName stimmt mit dem überein der im Manifest angegeben ist. aString ist existent in den Resourcen und trotzdem ist resId immer 0
Edit: In der Resource steht z.B. <string name="txt_fire">Feuer</string> und aString ist dann txt_fire
Alles was ich im Internet finden konnte verweist immer genau auf diese Beispiel. Keine Ahnung was da nicht stimmt.
CU,
silbaer