带有 SharedPreferences 的 NullPointerException

NullPointerException with SharedPreferences

我正在尝试从我的 Main.java 文件中获取一个 textView,当单击通知时,它应该会打印出来。我知道我要为此使用 sharedPreferences。我做到了。但是,它一直抛出 NullPointerException,但我已经在我的 NotificationPage.java class 中调用了我需要调用的所有内容,所以我不确定到底出了什么问题。请提供任何帮助。

这是我的NotificationPage.javaclass

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.TextView;


public class NotificationPage extends Activity {
SharedPreferences sp;
SharedPreferences.Editor edit;
TextView arrival;
TextView notifdate;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.notification);
    notifdate=(TextView)findViewById(R.id.textView5);
    arrival=(TextView)findViewById(R.id.textView4);
    sp=getSharedPreferences(arr, MODE_PRIVATE);
    edit=sp.edit();
    sp.getString(arr, null);
    edit=sp.edit();
    edit.putString(arr,sp.getString(arr,null));
    notifdate.setText("Hey!" + sp.getString(arr,null));
    edit.apply();
}

这是从我的其他 java 文件中获取我的共享首选项的代码行

arr=arrival.getText().toString();
sp=getSharedPreferences(arr,MODE_PRIVATE);

初始化您的共享首选项对象 (sp)

sp = getSharedPreferences("Session Data", Context.MODE_PRIVATE);    

私人最终字符串SP_FILE = "my_shared_preferences";

您不知道如何使用共享首选项。 请参考Shared Preference Guide.

您有 2 种方式使用共享首选项,读取或写入。

如果您写入共享首选项,请先为其命名。

public static final String SP_FILE_NAME = "my_shared_preferences";

SharedPreferences sp = getSharedPreferences(SP_FILE_NAME, MODE_PRIVATE);
sp.edit().putString("key", "value").apply();

一申请一编辑。在中间你可以放你想要的东西。

读取值:

SharedPreferences sp = getSharedPreferences(SP_FILE_NAME, MODE_PRIVATE);
String value = sp.getString("key", "defaultValue");

希望您能看到您的代码中有什么问题。

输入键值

public static final String SP_NAME = "my_preferences";
SharedPreferences sp = getSharedPreferences(SP_NAME, MODE_PRIVATE);
sp.edit().putString("key", "value").apply();

获取一个值

SharedPreferences sp = getSharedPreferences(SP_FILE_NAME, MODE_PRIVATE);
String value = sp.getString("key", "defaultValue");