gpt4 book ai didi

android - SharedPreferences getFloat 返回 ClassCastException 并强制关闭

转载 作者:太空狗 更新时间:2023-10-29 16:08:45 27 4
gpt4 key购买 nike

我想从首选项中得到一个 float 。当用户未输入任何内容时,此方法工作正常,但在框中输入 8.23 并保存时,应用程序会在下次启动时崩溃。

主要 Activity .java:

float hourly_rate;
SharedPreferences userdata;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

userdata = PreferenceManager.getDefaultSharedPreferences(this);
hourly_rate = userdata.getFloat("hourly_rate", 0.0f);
}

首选项.xml:

<PreferenceCategory
android:title="@string/general_preferences_title">
<EditTextPreference
android:inputType="numberDecimal"
android:key="hourly_rate"
android:title="@string/hourly_rate_title"
android:summary="@string/hourly_rate_summary" />
</PreferenceCategory>

当我删除 getFloat 行时,应用程序不会强制关闭。

最佳答案

EditTextPreference 将其内容存储为字符串。 Float.parseFloat(String) 可能对您有好处 - 在 preferences.getString(..) 中 - 除非您编写自己的 FloatPreference 将文本输入存储为 float .

关于android - SharedPreferences getFloat 返回 ClassCastException 并强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8086557/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com