"Я читал документацию по посредничеству admob и видел это, но я немного растерялся, потому что думал, что когда вы используете слово" this ", это относится к деятельности, в которой вы находитесь."
Вы немного не правы.this
относится к вашему текущему объекту.Из документации Java :
Внутри метода экземпляра или конструктора this
является ссылкой на текущий объект - объект, чей метод или конструктор вызывается.Вы можете ссылаться на любой член текущего объекта из метода экземпляра или конструктора, используя this
.
Например, this
в анонимном классе будет ссылаться на класс объекта:
View view;
view.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
// this will refer to View.OnClickListener object.
}
});
Я думал, что это был единственный возможный способ, кто-нибудь знает пример того, что будет контекст, который я бы пропустил, это не моя текущая деятельность?
Вы также можете создать AdView внутри класса Application
, хотя это то, что я никогда не рекомендовал:
public MyApp extends Application {
private AdView mAdView;
...
public void createAdView() {
// this will refer to MyApp which is a context.
mAdView = new AdView(this);
...
// the rest is history
}
}
Или кто-то создаст Util для генерации AdView, но забудет ограничить контекст только действием.:
public AdUtil {
private AdUtil(){}
...
// Here the parameter context can be Application, Activity, etc.
public static AdView createAdView(Context context) {
AdView adView = new AdView(this);
...
return adView;
}
}