在非activity类中使用getSharedPreferences的问题

我在MainActivity 里创建了public SharedPreferences SQL_From_Witch;
然后在非activity类中使用要怎么使用。
本来这样操作的

MainActivity mainActivity;

 PageString = mainActivity.SQL_From_Witch.getString("SQL_From_Page","");

之前还可以使用,但是在新加了一个activity之后。到这一行一直报mainActivity是null

img


然后报这个错

Attempt to invoke virtual method 'java.lang.String android.content.Intent.getStringExtra(java.lang.String)' on a null object reference


在非Activity类的构造函数中传入 Context 对象,然后用

SharedPreferences sp=context.getSharedPreferences("名称", Context.MODE_PRIVATE);

构造一个 SharedPreferences 对象,再用 sp.getString("SQL_From_Page","") 获取你要的东西。

你的mainActivity对象没有初始化。可以通过调用MainActivity的方法return this;的等方式初始化