android kotlin 中的多个 AdListener

Multiple AdListener in android kotlin

我正在制作一个供个人使用的应用程序,该应用程序在一个 activity 上有多个横幅广告。我想收听所有广告的 onAdLoaded() 事件。为此,我必须为每个广告添加 AdListener。如果我有十个广告,我是否必须将相同的代码写十次?

所以,我的问题是有没有什么方法可以像 this 那样减少多个按钮 onClickListener 的代码? 我已经尝试用与 onClickListener 按钮相同的方式来做到这一点,但它不起作用。

我的部分代码:

    ad1.adListener = object : AdListener() {
        override fun onAdLoaded() {
            super.onAdLoaded()
            incrementCounter()
        }
    }

    ad2.adListener = object : AdListener() {
        override fun onAdLoaded() {
            super.onAdLoaded()
            incrementCounter()
        }
    }

    ad3.adListener = object : AdListener() {
        override fun onAdLoaded() {
            super.onAdLoaded()
            incrementCounter()
        }
    }

我必须为我的所有广告重复相同的代码units.That使我的代码变得庞大,这是我的问题。

您可以将所有视图分组在一个列表中:

val adViews = listOf(ad1, ad2, ...)

然后,您可以遍历并设置侦听器:

adViews.forEach { 
  it.adListener = object : AdListener() {
    override fun onAdLoaded() {
      super.onAdLoaded()
      incrementCounter()
    }
  } 
}