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()
}
}
}
我正在制作一个供个人使用的应用程序,该应用程序在一个 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()
}
}
}