【发布时间】:2018-10-02 19:52:11
【问题描述】:
我有一个非常简单的枚举,我在我的性别应用程序中使用它,我需要有一个设置页面,用户可以在其中更改它,但我找不到在 ListPreference 中使用枚举的任何方法。我正在使用 PreferenceFragment 来构建首选项屏幕,但我找不到将我拥有的枚举用作 ListPreference 的条目和 entryValues 的方法。 枚举很简单,就...
public enum Gender implements EnumSpinner {
MALE("Male", 0),
FEMALE("Female", 1),
NONE("Prefer not to say", -1);
private static SparceArray<Gender> genderMap = new SparceArray<>();
static {
for(Gender gender : Gender.values()) {
genderMap.put(gender.getValue(), gender);
}
}
private String name;
private int value;
Gender(String name, int value) {
this.name = name;
this.value = value;
}
public static Gender getGender(int val) { return genderMap.get(val); }
@Override
public String toString() { return name; }
public String getName() { return name; }
public int getValue() { return value; }
}
是否可以在 ListPreference 中使用,还是我必须在 strings.xml 文件中创建 2 个字符串数组并以这种方式使用它?
旁注,EnumSpinner 只是一个允许我在微调器中使用枚举的接口。
【问题讨论】:
标签: android enums android-preferences listpreference