Администрирование сервисов Google Play - super.onAdLoaded(), super.onAdFailedToLoad(...)

Быстрый вопрос:

В контексте деятельности Android,

В adListennerпри переопределении onAdLoaded(){} а также onAdFailedToLoad(int errorCode){}, должен super.onAdLoaded() а также super.onAdFailedToLoad(int errorCode) вызываться в переопределенных методах?

Если да, должен ли этот вызов выполняться в начале или в конце метода?

2 ответа

Решение

AdListener - это интерфейс, нет метода суперкласса для вызова.

И в любом, как правило, в Java, адаптеры (абстрактные реализации Listener, предоставленные для удобства) не содержат реализации в адаптере. Методы просто существуют, так что вам не нужно реализовывать те методы, которые вы не используете.

Очень хороший вопрос, интересно, что для себя - это вообще хорошая практика, если вы хотите сохранить логику из родительского класса. В этом случае это не будет иметь значения.

com.google.android.gms.ads.AdListener на самом деле является абстрактным классом с пустыми методами - я полагаю, что слушатель раньше был интерфейсом, который заставлял вас реализовывать все методы и, следовательно, переходить на абстрактный класс.

Вы можете взять декомпилятор Java, например, JD-GUI, и посмотреть код самостоятельно (google-play-services_lib\libs\google-play-services.jar):

package com.google.android.gms.ads;

public abstract class AdListener
{
  public void onAdClosed() {}  
  public void onAdFailedToLoad(int errorCode) {}  
  public void onAdLeftApplication() {}  
  public void onAdOpened() {}  
  public void onAdLoaded() {}
}
Другие вопросы по тегам