首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >完全删除AdView

完全删除AdView
EN

Stack Overflow用户
提问于 2014-02-25 10:17:38
回答 2查看 1.4K关注 0票数 2

我在Layout的XML中定义了一个Layout,如果用户购买了该应用的无广告版本,我想让它消失。

我要做的是

代码语言:javascript
复制
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消息:

代码语言:javascript
复制
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.

每时每刻都在重复。有什么办法完全禁用AdView吗?

更新:在我的例子中, @Doomsknight答案很好,我只有两个广告布局。否则将是检查购买并最终以编程方式插入AdView的最佳实践。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-25 10:21:44

您的xml正在定义广告视图。以及自动连接。所以当你隐藏它的时候,它已经被初始化了。

一种解决方案是为付费版本提供一个完全排除评论的xml。

把它放在最上面

代码语言:javascript
复制
if(userhaspurchased)
     setContentView(R.layout.paid_version_xml);
else
     setContentView(R.layout.free_version_xml);

然而,这取决于您有多少xml和adview。因为为每一页保持一个变化并在其上进行评论可能是一个问题。

票数 4
EN

Stack Overflow用户

发布于 2014-02-25 10:30:18

不要在xml文件中添加adview视图。相反,在xml布局文件中添加一个占位符。

代码语言:javascript
复制
<LinearLayout
    android:id="@+id/admob"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:orientation="horizontal" >

</LinearLayout>

在您的代码中:

代码语言:javascript
复制
if(!userhasPurchased)
{
    AdView adView = new AdView(this, AdSize.BANNER, adunit_id);
    LinearLayout layout = (LinearLayout) findViewById(R.id.admob);
    layout.addView(adView);
    AdRequest adRequest = new AdRequest();
    adView.loadAd(adRequest); 
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22011069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档