gpt4 book ai didi

java - 空指针异常 getDefaultSharedPreferences()

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:49:45 27 4
gpt4 key购买 nike

我一直在这一行收到 NullPointerException:

SharedPreferences myPreference = PreferenceManager.getDefaultSharedPreferences(this);

我运行了一些东西,我相信我有错误的上下文,因为它在主包的子包中,所以我认为它不能引用 XML 首选项文件。我已经在主包中的类中使用了它,没有遇到任何问题,但由于某种原因,这会导致异常。

完整代码:

package schoolBook.Icestone.Expandable;

import schoolBook.Icestone.Days;
import schoolBook.Icestone.Main;
import schoolBook.Icestone.SetPreference;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

public class Lesson1 extends Lessons {

public Lesson1(String name) {
super(name);
// setGroup(" " + Days.getLessonarray(0) + " ");
String key = "W" + Main.getWeek() + "_" + SetPreference.xmlday + "_L"
+ SetPreference.xmllesson + "_Lesson";
System.out.println(key);
try {
SharedPreferences myPreference = PreferenceManager
.getDefaultSharedPreferences(this);
String group = myPreference.getString(key, "def");
setGroup(" " + group + " ");
} catch (NullPointerException ex) {
ex.printStackTrace();
setGroup(" " + Days.getLessonarray(0) + " ");
}
}
}

Lessons class extends Activity 所以认为这可能是我的问题的根源,但我不确定。

文件结构:

冰石

  • Main.class 和其他一些使用共享首选项的类并且工作正常
    • 类(class)包(Lesson1 和 Lesson 都在这个包里)
  • 包含首选项的 XML 文件夹

如果有人能帮助阐明这个问题,我们将不胜感激

最佳答案

您不能在构造函数中执行此操作。

如果它扩展了 Activity 类,则它不应该有构造函数,您需要在 oncreate 方法中处理它。

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

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