1

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

谢谢

4

1 回答 1

5

我有同样的问题; 通过添加解决

android:descendantFocusability="blocksDescendants"

在列表视图项的根布局中

于 2013-06-28T15:56:49.957 回答