アプリにアドモブ広告を入れました。これらは、ListView のフッター ビューとして表示されます。奇妙なことに、広告は最初のクリックに反応しません。応答するには、もう一度クリックする必要があります。その後は、その後のすべてのクリックに正常に応答します。
それを保持するビューにクリックリスナーが割り当てられていません。リストビューにもOnItemClickListenerが割り当てられていません。これは、admob ビューを挿入したビューの外観です (そして、この膨張したビューが ListView フッターとして追加されます)。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp" >
<!-- I add the Ad to this inner layout at runtime. -->
<LinearLayout
android:id="@+id/body"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:padding="5dp">
</LinearLayout>
</LinearLayout>
...
View parent = inflateContainerFromXml(R.layout.foo);
parent.addView(makeAdMobView());
ListView lv = ...;
lv.addFooterView(parent);
上記のネストされたレイアウトが少し奇妙に見えることに気付きましたが、それは私が達成しようとしているビジュアル スタイルによるものです。
何がこれを引き起こしているのでしょうか?admob ビュー作成コードは、アプリの他の場所で単純な線形レイアウトで使用し、そこでクリック処理が正常に動作するため、問題ないと思います。
ありがとう