Is there a sensible, clean way to refer to application resources from static initalizer code in my android classes.
I would specifically like to define an enum which contains the values of some resource strings in its constants.
Here is some pseudo code for the enum
private enum MyEnum {
Const1(getString(R.string.string1)),
Const2(getString(R.string.string2)),
Const3(getString(R.string.string3));
private String strVal;
MyEnum(String strVal){
this.strVal = strVal;
}
}
This question applies to any kind of static initialization.
I don’t think there is a direct way as context is required to load resources. However, what you could do is to provide a method in your enum to get required string once context is available. Something like
So you access it like