Статический доступ к ресурсам приложения Android?
У меня есть проблема повторно. ресурсы приложения Android:
Мое приложение имеет разное. режимы (edit / plan / exec), которые я хотел бы описать, используя тип перечисления Однако я хотел бы заполнить значения перечисления строками, которые вытекают из файла ресурса string.xml, т.е. вместо
enum Mode {
EDIT ("edit"),
PLAN ("plan"),
EXEC ("exec");
String name;
Mode(String name) { this.name = name; }
@Override
public String toString() { return this.name; }
};
Я хотел бы написать что-то вроде:
enum Mode {
EDIT (getResources().getText(R.string.mode_edit).toString()),
PLAN (getResources().getText(R.string.mode_plan).toString())),
EXEC (getResources().getText(R.string.mode_exec).toString()));
String name;
Mode(String name) { this.name = name; }
@Override
public String toString() { return this.name; }
}
который, например, позволяют изменять имена режимов с помощью файла ресурсов и, таким образом, разрешать последующие изменения имени без изменения кода, интернационализации и т. д.
Проблема в том, что стандартный доступ к ресурсам осуществляется через метод getResources () класса Activity, который доступен только в конструкторе (и во время методов экземпляра). Однако объявление перечисления является частью статического кода инициализации класса. Есть ли способ получить доступ к ресурсам приложения в статическом режиме?
Майкл