【问题标题】:Google play services admob - super.onAdLoaded(), super.onAdFailedToLoad(...)谷歌播放服务 admob - super.onAdLoaded(), super.onAdFailedToLoad(...)
【发布时间】:2014-04-01 18:14:47
【问题描述】:

快速提问:

在 Android 活动的上下文中,

adListenner 中,当覆盖onAdLoaded(){}onAdFailedToLoad(int errorCode){} 时,是否应该在覆盖的方法中调用super.onAdLoaded()super.onAdFailedToLoad(int errorCode)

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

【问题讨论】:

    标签: java android admob google-play-services interstitial


    【解决方案1】:

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

    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() {}
    }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-18
        • 2014-05-23
        • 1970-01-01
        • 1970-01-01
        • 2016-10-28
        • 2014-11-20
        相关资源
        最近更新 更多