#java #android #resources
#java #Android #Ресурсы
Вопрос:
Я пишу приложение для Android с кодом Java. Приложение может поддерживать английский и итальянский языки. Внутри приложения есть счетчик, который принимает свои значения из класса enumerate, следующего:
public enum ElementTypesEnum {
MEET("Meet"),
CEREAL("Cereal"),
FISH("Fish"),
OTHER("Other");
private String elementType;
ElementTypesEnum(String elementType) {
this.elementType = elementType;
}
public String getElementType() {
return elementType;
}
}
Я хочу инициализировать значения enumerate значениями, содержащимися в моем локальном файле строковых ресурсов (R.string.value_1). В этом классе у меня нет экземпляра файла ресурсов, поскольку у меня нет экземпляра Context . Как я могу это сделать? Заранее благодарю вас, Марко
Ответ №1:
Используйте идентификатор ресурса, затем извлекайте строки из контекста вашего счетчика при его заполнении.
public enum ElementTypesEnum {
MEAT(R.string.meat),
CEREAL(R.string.cereal),
FISH(R.string.fish),
OTHER(R.string.other);
@StringRes
private int elementType;
ElementTypesEnum(@StringRes int elementType) {
this.elementType = elementType;
}
public int getElementType() {
return elementType;
}
}