我在onPostCreate中创建了这样的AdView:
private AdView mAd;
public void onPostCreate(Activity a) {
LOGE(TAG, "Ads are enabled: creating");
mAd = (AdView) (a.findViewById(R.id.adView));
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice("xxxxxx");
mAd.loadAd(new AdRequest());
}
然后我就像这样摧毁它:
public void onDestroy(Activity a) {
if (mAd != null) {
mAd.destroy();
}
super.onDestroy();
}
从我的用户日志中,我有时会看到:
引起:java.lang.NullPointerException at android.webkit.WebView.requestFocus(WebView.java:8925)... at android.view.ViewGroup.removeView(ViewGroup.java:2135)... at org.akul.psy.gui.BaseActivity.onDestroy(BaseActivity.java:69)
我相信这是因为我在销毁AdView时遇到了一些问题。
我能正确地做到吗?我必须这样做吗?我正在摧毁它,因为我跟着谷歌的例子(我相信)。
答案 0 :(得分:1)
只有在使用此代码
创建AdView实例时,才必须销毁adViewAdView adView = new AdView(this);
但是在你的情况下你的Adview在你的xml中,并且你试图找到视图的实例(而不是新的内存分配)。当从堆栈中删除活动时,将破坏在xml中创建的实例。