Я бы порекомендовал сделать следующее: Вместо того, чтобы передавать контекст повсеместно, сделайте ваш класс активности одноэлементным классом с публичной функцией, которая возвращает контекст:
private static ActivityMain instance;
Инициализация внутри onCreate () перед super.onCreate ():
instance = this;
Затем добавьте в свою деятельность следующие общедоступные функции:
/** Get singleton instance of activity **/
public static ActivityMain getInstance() {
return instance;
}
/** Returns context of this activity **/
public static Context getContext(){
return instance.getApplicationContext();
}
Теперь вы можете использовать любое место в любом классе:
Context context = AntiMorphActivity.getContext();
String packageName = context.getPackageName();
int id = context.getResources().getIdentifier("web_page", "raw", packageName);