我需要从类中打开广告资源文件,不同的是活动。 我想我可以通过参数将主要上下文(或活动)传递给这个类,但我想知道是否有更简单的方法。
答案 0 :(得分:1)
将Activity的Context传递给离散类是我定期做的事情。我通常将它传递给构造函数并将其存储为实例变量...
public MyClass {
private Context parentContext = null;
public MyClass(Context context) {
parentContext = context;
}
}
从Activity中实例化类时,我只是将this
传递给构造函数的context参数。
答案 1 :(得分:0)
如果类是对话框或视图子类 - 您可以从中调用getContext()。否则,你必须以某种方式传递Context,无论是作为参数还是作为类变量,初始化duting contruction。在后一种情况下,有时从ContextWrapper派生你的类是有意义的。