2017-03-10 2 views
-1

나는 내 다른 클래스 나이 당신을 감사하십시오 해결하기안드로이드에있는 다른 클래스에서 호출하는 메서드를 해결할 수 없습니까?

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

} 

ReadBoolean is showing cannot resolve method 도움말에서 활동

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); 
    } 
} 

하지만를있다.

+0

아래의 두 대답은 모두 'SingleActivity.ReadBoolean (context, "NotiOnOff", true);' –

+0

을 사용합니다. 어쨌든 Activity 설정으로 변경했지만 ReadBoolean이 빨간색으로 표시되어 캔트 해결 방법을 보여줍니다. – Kogile

+0

여기에 새 코드를 추가 할 수 있습니까? –

답변

0

난 당신 말은 생각 : 당신은 대신 SingleActivity의 SettingActivity을 사용하는

SingleActivity.ReadBoolean(... 
0

.

0

SettingActivity을 사용하려는 SingleActivity 대신 오타가 있다고 생각합니다. 대신 시도 할 수 있습니다 :

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

을 그런데 당신은 자바 빈즈 명명 규칙을 따르는 경우에 사용하는 것을 선호 있습니다 Noti_flag는 지역 변수 인 경우

readBoolean instead of `ReadBoolean` 

** 편집 **** 을 수행해야 유형을 정의하십시오.

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

예, readBoolean과 같은 명명 규칙을 시도했지만 사용하지 않았습니다. – Kogile

+0

먼저 SingleActivity로 설정하고 다시 시도하십시오. – HRgiger

+0

내가했으나 작동하지 않았습니다. – Kogile

0

아래 코드를 사용하여 서비스 클래스에서 메소드를 호출하십시오.

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

getApplicationContext()은 컨텍스트를 전달해야합니다.

관련 문제