Hx_Fish 2021-09-17 11:56 采纳率: 83.3%
浏览 162
已结题

在非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


  • 写回答

2条回答 默认 最新

  • 偷窃月亮的贼 2021-09-17 13:15
    关注

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

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月25日
  • 已采纳回答 9月17日
  • 创建了问题 9月17日