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 に答える