【问题标题】:use Enum in ListPreference在 ListPreference 中使用枚举
【发布时间】: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


    【解决方案1】:

    请查看 google 开发者 youtube 频道,Android Performance Matters 有一个视频解释了为什么您不希望在 Android 中使用枚举,还有其他方法可以获得相同的功能。 Android 有一个设置/首选项框架,你可以在这里找到一个很好的教程。

    Buuilding Settings Screen Android

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2023-04-04
      • 2012-03-20
      • 2012-03-04
      • 2011-04-18
      • 2011-06-23
      相关资源
      最近更新 更多