gpt4 book ai didi

java - SharedPreferences.getBoolean 抛出荒谬的异常

转载 作者:行者123 更新时间:2023-12-01 19:05:57 27 4
gpt4 key购买 nike

我在 android 中遇到 SharedPreference.getBoolean 的问题,非常令人沮丧。请参阅以下代码 fragment :

Map<String, ?> all = preferences.getAll();

Object x = all.get("EnableMedia");

boolean v = preferences.getBoolean("EnableMedia", (Boolean) null);

我可以在调试器中看到“x”是一个 boolean 值,并且它是真的。

但是,如果我执行下一行,preferences.getBoolean,它会抛出异常。什么给了?!

最佳答案

看看这个调用:

preferences.getBoolean("EnableMedia", (Boolean) null);

现在看看getBoolean的签名:

public abstract boolean getBoolean (String key, boolean defValue)

请注意,这是一个 boolean 值,而不是 Boolean 值。所以实际发生的是你的代码是这样的:

Boolean tmp = null;
preferences.getBoolean("EnableMedia", tmp.booleanValue());

当您在空引用上调用方法时,这将引发 NullPointerException

您需要传入一个有效的 boolean 值,例如

preferences.getBoolean("EnableMedia", true);

关于java - SharedPreferences.getBoolean 抛出荒谬的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10100517/

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