我在我的XML中定义了一个AdView
,如果用户购买了这个应用的无广告版本,我想让它消失。
我要做的是
if(userhaspurchased){
if (mAdView != null) {
mAdView.setVisibility(View.GONE);
mAdView.pause();
ViewGroup vg = (ViewGroup) mAdView.getParent();
mAdView.destroy();
vg.removeView(mAdView);
mAdView = null;
}
Log.d("Purchased","true");
} else { //Load ad }
广告不可见,但在日志中,我仍然收到adview消息:
02-25 11:14:58.688: I/Ads(9279): Ad is not visible. Not refreshing ad.
02-25 11:14:58.688: I/Ads(9279): Scheduling ad refresh 60000 milliseconds from now.
它们每分钟都在重复。有没有办法完全禁用
Layout
?更新:@doomsnight answer在我的例子中很好,我只有两个带有广告的布局。否则最好检查购买并最终以编程方式插入
AdView
。 最佳答案
您的xml正在定义广告视图。自动连接。所以当你把它藏起来的时候,它已经被初始化了。
一种解决方案是,对于付费版本,使用完全排除adview的xml。
把它放在上面
if(userhaspurchased)
setContentView(R.layout.paid_version_xml);
else
setContentView(R.layout.free_version_xml);
不过,这取决于您有多少个xml和adview。因为为每页维护一个带有adview的变体可能是一个问题。