2014-12-12 1 views
-3

Существует много информации по этой теме, но ничто из этого не помогает мне. У меня есть несколько глобальных переменных/полей внутри класса приложения в приложения:Контекст приложения в классе Non Activity?

public class App extends Application { 

private static App instance 

public string PUBNUB_SUB = BuildConfig.PUBNUB_SUB_KEY; 
public string PUBNUB_PUB = BuildConfig.PUBNUB_PUB_KEY; 


public void onCreate() { 
instance = this; 

} 

public static App getInstance(){ 
    return instance; 
} 

} 

В деятельности/Фрагменты Я успешно доступ к этим переменным следующим образом:

class ActivityA extend Activity { 

App baseApp; 
Pubnub pubnub; 


public void onCreate(Bundle savedInstanceState){ 

    baseApp = new(App)getApplicationContext(); 
    Pubnub(baseApp.PUBNUB_SUB, baseApp.PUBNUB_PUB) 

} 

Теперь Как получить доступ к getApplicationContext() в классе non-Activity/non-Fragment?

public class Events { 


App baseApp; 
Context mContext; 
app = new(LoQooApp)mContext.getApplication(); ??? 


public Events(Context context) { 
app = new(LoQooApp)mContext.getApplication(); ??? 
} 

выше не работает, где должен

приложение = новый (LoQooApp) getApplication(); идти?

+1

Что? вы всегда можете передать Context в конструкторе, если вы находитесь в фрагменте getActivity(), вы получите контекст –

ответ

1

Похож PUBNUB_SUB и PUBNUB_PUB постоянные, так что вы можете объявить их как public static final, а затем получить доступ с помощью статической ссылки: App.PUBNUB_SUB и App.PUBNUB_PUB

+0

, спасибо, что мне нужен нужный – sirvon

+0

@sirvon, добро пожаловать! – Egor