gpt4 book ai didi

java - SharedPreferenceclear() 抛出空指针异常

转载 作者:行者123 更新时间:2023-12-01 12:23:34 25 4
gpt4 key购买 nike

我正在尝试清除一个列表,为此我需要清除 SharedPreference。但这样做时,我得到了一个空指针异常。这是我的代码。 -

MainActivity.savedLogName.edit().clear().commit();
MainActivity.savedLogNumber.edit().clear().commit();
MainActivity.savedLogTime.edit().clear().commit();

我也尝试过使用remove(),但同样的错误仍然存​​在。这是使用remove()的代码

MainActivity.savedLogName.edit().remove("logName").commit();
MainActivity.savedLogNumber.edit().remove("logNumber").commit();
MainActivity.savedLogTime.edit().remove("logTime").commit();

注意-savedlogName、savedLogNumber 和savedLogTime 是MainActivity 中声明的静态变量。我从不同的 Activity 类别中调用他们。

来自主 Activity -

savedLogName = PreferenceManager.getDefaultSharedPreferences(this);
savedLogNumber = PreferenceManager.getDefaultSharedPreferences(this);
savedLogTime = PreferenceManager.getDefaultSharedPreferences(this);

logName = new ArrayList(Arrays.asList(TextUtils.split(savedLogName.getString("logName", null), ",")));
logNumber = new ArrayList(Arrays.asList(TextUtils.split(savedLogNumber.getString("logNumber", null), ",")));
logTime = new ArrayList(Arrays.asList(TextUtils.split(savedLogTime.getString("logTime", null), ",")));

如果sharedPreference为空,我希望logName、logNumber和logTime初始化为null。那不会发生。它只是初始化为旧值,就像从未被清除一样。

最佳答案

context.getSharedPreferences("YOUR_PREFS", 0).edit().clear().commit(); 

删除所有偏好设置

或者像这样获取编辑器并清除

editor.clear();
editor.commit();

关于java - SharedPreferenceclear() 抛出空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26503822/

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