无法解析从android中的其他类调用方法?

时间:2017-03-10 10:59:16

标签: java android android-preferences

我正在开展活动

public class SettingActivity extends Activity {

    // here i am having my function
    // Boolean
    public static boolean ReadBoolean(Context context, final String key,
                                      final boolean defaultValue) {
        SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
        return settings.getBoolean(key, defaultValue);
   }
}

但在我的另一个班级

public class MyServices extends Service
{
    public void onCreate()
    {
        Noti_flag= SettingActivity.ReadBoolean(context, "NotiOnOff", true);
        super.onCreate();
    }

}

ReadBoolean is showing cannot resolve method     帮我解决这个问题,谢谢。

4 个答案:

答案 0 :(得分:0)

我认为你的意思是:

SingleActivity.ReadBoolean(...

答案 1 :(得分:0)

您正在使用SettingActivity而不是SingleActivity。

答案 2 :(得分:0)

我认为你输了一个拼写错误,而不是SingleActivity你试图使用SettingActivity。您可以尝试改为:

Noti_flag = SingleActivity.ReadBoolean(context, "NotiOnOff",true);

顺便说一句,如果你遵循javabean命名约定,你可能更喜欢使用:

readBoolean instead of `ReadBoolean`

**编辑**** 如果Noti_flag是局部变量,您还需要定义其类型:

boolean Noti_flag = SingleActivity.ReadBoolean(context, "NotiOnOff",true);

答案 3 :(得分:0)

使用以下代码从服务类调用方法。

   public class MyServices extends Service
    {
        public void onCreate()
        {
            Noti_flag= SettingActivity.ReadBoolean(getApplicationContext(), "NotiOnOff", true);
            super.onCreate();
        }
    }

你需要传递getApplicationContext()上下文的意图。