错误:尝试在空对象引用

时间:2015-10-07 12:46:36

标签: java android sharedpreferences android-logcat

多年来一直坚持这种情况,尝试了多种我认为可以解决的问题,但我对Java很陌生,无法弄明白。

所以我宣布这个东西:

public SharedPreferences prefs;
public SharedPreferences.Editor editor;

然后在稍后的方法中:

public void SaveInsult(View view) {
        String saved = insult.getText().toString();
        int number = prefs.getAll().size();
        int newKey = number + 1;
        String newKeyString = "" + newKey;
        editor.putString(newKeyString, saved);
        editor.commit();
        Toast.makeText(getApplicationContext(), R.string.addedFavs, Toast.LENGTH_SHORT).show();
}

我的应用程序将正常启动,当我在按钮单击按钮上运行此代码时,如果我收到错误:

  Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Map android.content.SharedPreferences.getAll()' on a null object reference

我知道我错过了一些我无法解决的问题。

1 个答案:

答案 0 :(得分:1)

你没有初始化prefs:

SharedPreferences prefs = context.getSharedPreferences("Your_Key", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();

请务必在editor.putString(newKeyString, saved);

之前致电此处