AdMob广告需要在ListView中点击两次才能激活



我在应用程序中投放广告。它们在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视图创建代码应该是可以的,因为我在应用程序的其他地方以纯线性布局使用它,并且点击处理在那里表现正常。

感谢

我遇到了同样的问题;通过添加解决

android:descendantFocusability="blocksDescendants"

在列表视图项的根布局中

最新更新