0

我现在正在使用 Android 的SharedPreferences.

我已经设置了一些绑定到的首选项EditTextPreference- 所以内容是String类型,我们可以通过以下方式访问它:

String defaultValue = "1337";
String value = preferences.getString("key", defaultValue);

但是我们想要使用intvalue 呢?

int defaultValue = 1337;
int value = Integer.parseInt(preferences.getString("key", String.valueOf(defaultValue)));

有没有更好的办法 ?我可以以某种方式设置EditTextPreferenceint输入吗?

4

2 回答 2

1

我可以以某种方式将 EditTextPreference 设置为 int 类型吗?

不,对不起。您可以创建自己的自定义子类DialogPreference,甚至可能是 的子类EditTextPreference(不确定这有多灵活),将值保存为SharedPreferences.

于 2012-04-25T23:18:03.913 回答
1

我不想将数值编辑为文本,除非作为辅助高级用户方法。您可能希望通过多种方式约束值(例如,最小值/最大值或枚举值),因此使用返回构造正确的结果的小部件是有意义的。无论是从编程的角度还是从用户体验的角度来看。

于 2012-04-25T23:21:48.920 回答