リストビューでエクスプレス広告を使用しています。オブジェクトの配列を取得するカスタム アダプターがあります。オブジェクトは 2 つの異なるタイプにすることができます (1 つは独自のクラス、もう 1 つは NativeExpressAdView)。
この方法で adView を作成します。
NativeExpressAdView adView = new NativeExpressAdView(activityContext);
AdSize adSize = new AdSize(AdSize.FULL_WIDTH, 150);
adView.setAdSize(adSize);
adView.setAdUnitId(getString(R.string.ad_unit_id));
adView.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT,
adSize.getHeightInPixels(activityContext)));
AdRequest request = new AdRequest.Builder().build();
adView.loadAd(request);
そして、アダプターで次のように表示します(オブジェクトがNativeExpressAdViewのタイプの場合):
convertView = (NativeExpressAdView) getItem(position);
return convertView;
問題はこれです:
- 広告を受け取ります
- 配列に新しいアイテムを取得します
- リストビューの更新
- 広告の位置が変わります (すべて問題ありません)
- 配列リストに新しいアイテムを取得します
- リストビューの更新
- 広告の位置は変わるが消える (クリックできる灰色の背景しか見えず、広告は開くが、テキストやボタンは表示されない)
- さらにいくつかのアイテムが再表示された後、そのままになります。
誰かがなぜそれが消えるのか教えてもらえますか(通常は(常にではありませんが)2番目の新しいアイテムの後に)?
編集:
いくつかのテストの後、私はそれが消えないことを発見しましたが、その位置はしばらくの間ビューから外れ、一度戻ってきたら問題ありません。これが私が意味することの写真です: