PreferenceManager.getDefaultSharedPreferences(getBaseContext())上的nullpointer;

时间:2012-03-21 14:42:58

标签: java android sharedpreferences android-preferences preferenceactivity

我正在尝试从数据提供者内部获取数据,因为数据提供者不提供我在函数后创建的上下文:

public String getUN() {
    Log.w("app", "getUN");
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    Log.w("app", "getUN2");
    return prefs.getString("username", "");
}

我使用了eclipse调试(以及日志消息)来查找错误点:preferencemanager-line

从另一个类槽调用:

PreferencesActivity pa = new PreferencesActivity();
Log.w("app","user:"+pa.getUN());

(再次登录进行调试)

感谢。

编辑:也欢迎提取数据的替代方法, 数据使用android的“原生”方法(通过首选项xml)存储

2 个答案:

答案 0 :(得分:0)

使用,getApplicationContext()

答案 1 :(得分:0)

您应该将上下文传递给数据提供者。