从字符串数据的键获取布尔数据后 SharedPreference 崩溃

SharedPreference crash after getting boolean data from the key that was string data

我在我的应用程序中使用一个键作为字符串数据 SharedPreference

后来不用string了,boolean就够了

所以我改为getBoolean()获取数据并将每个用法更改为布尔值。

即使它仍然崩溃。

我不明白为什么。请解释一下。

谢谢。

拜托,我通过清除缓存解决了这个问题。

错误: cannot parse to boolean

有没有其他方法可以解决?我在想的是,如果应用程序在用户 phone 中,它不应该崩溃。

进行全新安装或清除缓存

也就是说,完全卸载您的应用并重新安装。这将解决您的问题。

在这种情况下出现错误的原因是,您的 SharedPreference 中已经有一个字符串数据,并且您正在尝试从中获取布尔数据。明显出错了。

唯一的解决办法是重新安装应用程序。

更新

如果您不想卸载或清除缓存,那么我认为您必须将字符串解析为布尔值。

试一试

 Boolean boolean1 = Boolean.valueOf(your_sp.getString());

现在 boolean1 将包含布尔值。

请务必使用在解析为布尔值时不会产生问题的值覆盖共享首选项中的字符串