Mol*_*Ice 10 android android-preferences sharedpreferences
该方法getFloat()用于从android的SharedPreferencesAPI中提取浮点值.但是,在xml中EditTextPreference,即使定义了数字,也始终存储字符串值.
人们会期望getFloat()自动返回这个,但它抛出一个ClassCastException,我们必须使用Float.parseFloat(SharedPreferences.getString())来获得这个值.
是不是没有用,getFloat()或者我在这里遗漏了什么?
方法getFloat()的存在是从android的SharedPreferences API中提取浮点值.
是.
但是,在xml中,EditTextPreference始终存储字符串值,即使已定义数字也是如此.
我想你在这里混淆了一些东西.您设置的SharedPreferences等于a上的元素PreferenceScreen.
PreferenceScreen's将所有值保存到您的中SharedPreferences并且确实EditTextPreferences无法保存浮动,但是您可以将浮动保存到您SharedPreferences自己:
SharedPreferences prefs = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putFloat("aFloat", 1.2f);
editor.commit();
Run Code Online (Sandbox Code Playgroud)
然后像这样检索浮点数:
float someFloat = prefs.getFloat("aFloat", 0.0f);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4583 次 |
| 最近记录: |