0

我在一个类中定义了这个布尔值:

private boolean showad;

我在同一个类中定义了这个函数,它检查是否showad设置为true

public void adon() {
  if (showad == true) {
    AdView adView = (AdView) this.findViewById(R.id.ad);
    adView.loadAd(new AdRequest());
  }
}

如何让这个函数adon()重复运行以检查showad布尔值的变化?

4

2 回答 2

4

好的,我将在这里冒险并猜测您实际上并不需要无限循环来检查您的布尔值以显示广告。所以让我给你一些真正的建议,而不是在评论中怒火中烧。您似乎想检查是否在某个屏幕上显示广告:活动或片段。

所以我给你的建议是:

将 if 条件检查放在您的 onResume() 方法中,并在那里显示/不显示您的广告。

@Override
    public void onResume() {
        super.onResume();
            if (showad == true) {
                  AdView AdView = (AdView) this.findViewById (R.id.ad);
                  adView.loadAd (AdRequest new ());
            }
}

这样,每当您的屏幕加载/刷新时,它都会检查。我认为您并不真的想要实时检查是否显示您的广告,因为这对用户来说非常不和谐。只需在 onResume() 中检查它。如果您有任何进一步的问题,请发表评论,我会扩展我的答案。如果你喜欢这个答案,请点赞并采纳。

但如果它真的必须是实时的。我可以帮助您设置一个计时器/延迟可运行,它会每隔一段时间检查一次。

于 2013-02-21T18:39:09.750 回答
3
void setShowad(boolean val) {
    if (showad) {
        AdView AdView = (AdView) this.findViewById (R.id.ad);
        adView.loadAd (AdRequest new ());
    }
    showad = val;
}
于 2013-02-21T18:35:35.703 回答