gpt4 book ai didi

java - 不同阶层的共享偏好不起作用

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

虽然我在 Activity 之外的单独类中定义了共享首选项,但它抛出异常。但是,当我在 Activity 中声明时使用相同的方法,它工作得很好。

我知道应该在调用 getshared 首选项之前首先启动 Activity 。

代码如下:

sharedpreferencesutil.java
android.content.SharedPreferences prefs =
getSharedPreferences(Constants.APP_NAME,
MODE_PRIVATE);
android.content.SharedPreferences.Editor editor = prefs.edit();
public boolean savePassword(String password) {
editor.putString(Constants.PASSWORD, password);
return editor.commit();
}

public String getPassword() {
return prefs.getString(Constants.PASSWORD, null);
}



Activity class:

mUserName = (EditText) findViewById(R.id.EditTextUsername);
if(sharedPreferences.getUserNameFromPrefs().isEmpty()) {
mUserName.setText(sharedPreferences.getUserNameFromPrefs(), TextView.BufferType.EDITABLE);
}

我也尝试使用上下文,但仍然在我的 Activity 类中的 getSharedPref 方法上遇到运行时空指针异常。

请帮忙

最佳答案

这两个链接清楚地回答了您的问题。

Android - How to use SharedPreferences in non-Activity class?

How do I use sharedPreferences outside of an Activity?

SharedPreferenced 仅适用于有效的 Activity 上下文。您可以简单地将上下文作为参数传递给您的类,这将解决您的问题。

关于java - 不同阶层的共享偏好不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20622721/

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