0

编码:

private fun initAds() {
    val adRequest = PublisherAdRequest.Builder().build()
    pavDetail.loadAd(adRequest)
    pavDetail.adListener = object : AdListener() {
        override fun onAdLoaded() {
            super.onAdLoaded()
            pavDetail.visibility = View.VISIBLE
        }

        override fun onAdFailedToLoad(i: Int) {
            pavDetail.visibility = View.GONE
            super.onAdFailedToLoad(i)
        }
    }
}

pavDetailcom.google.android.gms.ads.doubleclick.PublisherAdView,我通过 kotlinx 从 XML 布局合成得到它。

此代码有时会抛出IllegalStateException,因为在&pavDetail中神秘地变为 null 。onAdLoadedonAdFailedToLoad

我这样做是pavDetail?.visibility为了防止崩溃,但我不确定这是否可行,因为我怀疑调用pavDetail自身可能会引发该异常。请记住,这不是NullPointerException一个IllegalStateException 给予信息pavDetail must not be null

因此,我问为什么pavDetail会变成 null 以及如何防止崩溃。

4

0 回答 0