1

快速提问:

在 Android 活动的上下文中,

在 anadListenner中,当覆盖onAdLoaded(){}and时onAdFailedToLoad(int errorCode){},应该super.onAdLoaded()super.onAdFailedToLoad(int errorCode)在被覆盖的方法中调用吗?

如果是这样,应该在方法的开头还是结尾进行调用?

4

2 回答 2

2

一个非常好的问题,想知道我自己 - 如果您想保留父类的逻辑,这通常是一种很好的做法。在这种情况下,它不会有所作为。

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() {}
}
于 2014-07-10T00:54:31.660 回答
1

AdListener 是一个接口,没有超类方法可以调用。

在任何情况下,通常在 Java 中,适配器(为方便起见而提供的抽象侦听器实现)在适配器中不包含任何实现。这些方法就在那里,因此您不需要实现那些您不使用的方法。

于 2014-04-02T05:03:40.193 回答