【问题标题】:Custom session another class自定义会话另一个类
【发布时间】:2014-03-12 08:12:46
【问题描述】:

我尝试进行自定义会话,但我遇到了正常问题,但我没有看到错误:

在我的课堂上:

session.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

在我的课堂上也有:

public SharedPreferences getSharedPreferences(String mypreferences2, int modePrivate){
    sharedpreferences = getSharedPreferences(mypreferences2,
            modePrivate);
    return this.sharedpreferences;
}

我明白了,为什么?

03-12 00:22:09.104: E/AndroidRuntime(7595): FATAL EXCEPTION: main
03-12 00:22:09.104: E/AndroidRuntime(7595): java.lang.StackOverflowError
03-12 00:22:09.104: E/AndroidRuntime(7595):     at com.example.support.Session.getSharedPreferences(Session.java:41)
03-12 00:22:09.104: E/AndroidRuntime(7595):     at com.example.support.Session.getSharedPreferences(Session.java:41)
03-12 00:22:09.104: E/AndroidRuntime(7595):     at com.example.support.Session.getSharedPreferences(Session.java:41)
03-12 00:22:09.104: E/AndroidRuntime(7595):     at com.example.support.Session.getSharedPreferences(Session.java:41)

等等

【问题讨论】:

    标签: android session exception sharedpreferences stack-overflow


    【解决方案1】:

    您获得StackOverflowError 的原因是您的方法无限递归地调用自己。如果你的类MainActivity 的子类,你只需要调用:

    this.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
    

    如果您确实需要来自另一个类的共享首选项的信息,建议您在 Activity 中检索它,然后通过构造函数、公共方法等将信息传递给该类。

    【讨论】:

      猜你喜欢
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多