android kotlin中的多个AdListener

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

所以,我的问题是,有没有什么办法来减少像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() } } 

我必须为所有广告单元重复相同的代码。这使我的代码笨重,这是我的问题。

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

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

然后,您可以迭代并设置侦听器:

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