【问题标题】:Android admob adview force closeAndroid admob adview 强制关闭
【发布时间】:2011-01-11 12:43:38
【问题描述】:

这是我第一次尝试在我的应用中添加广告。我已阅读在线文档并逐字阅读。现在,我唯一不明白的部分是如何实际请求广告并将其添加到我的应用中。

AdView adView = (AdView)findViewById(R.id.ad);

到目前为止,这似乎工作得很好。 我做的任何其他事情都会强制关闭。 例如添加这一行:

adView.setAdListener(this);

我已经为 Activity 实现了 AdListener。

顺便说一句,当我将鼠标悬停在导入的类上时:

import com.admob.android.ads.AdView;

或其他类似的类,它说: 注意:这个元素既没有附加源也没有附加 Javadoc,因此找不到 Javadoc。

这应该是正确的吗?

【问题讨论】:

  • 你能提供崩溃的日志吗?备注正常。
  • 01-10 20:20:11.152:错误/AndroidRuntime(2043):在 com.admob.android.ads.AdView.(AdView.java:323) 01-10 20: 20:11.152: ERROR/AndroidRuntime(2043): at com.admob.android.ads.AdView.(AdView.java:308) 01-10 20:20:11.152: ERROR/AndroidRuntime(2043): at com .admob.android.ads.AdView.(AdView.java:267) 抱歉,之前从未发布过日志...

标签: java android admob


【解决方案1】:

如果没有看到您的代码和布局,很难确定,但您可能需要检查以下几点:

1) AdMobActivity 在您的 AndroidManifest 中声明:

<activity android:name="com.admob.android.ads.AdMobActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:configChanges="orientation|keyboard|keyboardHidden" />

2) 您在 AndroidManifest 中请求 INTERNET 权限:

<uses-permission android:name="android.permission.INTERNET" />

3) 您的 attrs.xml 文件包含必要的样式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="com.admob.android.ads.AdView">
        <attr name="backgroundColor" format="color" />
        <attr name="primaryTextColor" format="color" />
        <attr name="secondaryTextColor" format="color" />
        <attr name="keywords" format="string" />
        <attr name="refreshInterval" format="integer" />
    </declare-styleable>
</resources>

4) 您的 AdView 包含在您的布局中:

<com.admob.android.ads.AdView
  android:id="@+id/ad"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  myapp:backgroundColor="#000000"
  myapp:primaryTextColor="#FFFFFF"
  myapp:secondaryTextColor="#CCCCCC"
/>

5) 可以正确找到您的 AdView:

AdView adView = (AdView)findViewById(R.id.ad);
if (adView == null) {
    Log.e(TAG, "AdView not found!");
}

【讨论】:

  • 显然没有找到该视图。我检查了一下,xml似乎很好。将不得不重新检查。
  • 广告现在出现在模拟器上,但我仍然不明白为什么它不能通过 xml 代码工作。我通过代码创建了一个 AdView,现在它可以工作了。呸,我讨厌 xml,一度认为我可以相处并学习 xml,但这对我来说很难。
  • 验证您正在使用正确的布局调用 setContentView,并且您正在将正确的 ID 传递给 findViewById。很容易在一种布局中使用“adview”,在另一种布局中使用“ad”,并使用错误的布局调用 findViewById,从而导致 null。
  • 我想知道这是否与我将内容视图更改为其他内容有关。每个项目我都会删除类似的 R.main.id 并通过代码创建自己的:LinearLayout ll = new LinearLayout(this), setContentView(ll);
  • 是的,这会导致问题。您应该在 XML 中定义尽可能多的视图。对于其他任何事情,您可以以编程方式定义它们,然后在适当的地方附加它们(在任何 ViewGroup 上使用 addView)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多