快速提问:
在 Android 活动的上下文中,
在 anadListenner
中,当覆盖onAdLoaded(){}
and时onAdFailedToLoad(int errorCode){}
,应该super.onAdLoaded()
和super.onAdFailedToLoad(int errorCode)
在被覆盖的方法中调用吗?
如果是这样,应该在方法的开头还是结尾进行调用?
快速提问:
在 Android 活动的上下文中,
在 anadListenner
中,当覆盖onAdLoaded(){}
and时onAdFailedToLoad(int errorCode){}
,应该super.onAdLoaded()
和super.onAdFailedToLoad(int errorCode)
在被覆盖的方法中调用吗?
如果是这样,应该在方法的开头还是结尾进行调用?
一个非常好的问题,想知道我自己 - 如果您想保留父类的逻辑,这通常是一种很好的做法。在这种情况下,它不会有所作为。
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() {}
}
AdListener 是一个接口,没有超类方法可以调用。
在任何情况下,通常在 Java 中,适配器(为方便起见而提供的抽象侦听器实现)在适配器中不包含任何实现。这些方法就在那里,因此您不需要实现那些您不使用的方法。