Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中通过google play服务使用admob广告_Android_Admob - Fatal编程技术网

如何在android中通过google play服务使用admob广告

如何在android中通过google play服务使用admob广告,android,admob,Android,Admob,我想通过google play服务添加admob。我的java代码是 LinearLayout layout = (LinearLayout)findViewById(R.id.LinearLayout1); AdView adView = new AdView(this); adView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER); adView.setAdUnitId("My_unit_id");

我想通过google play服务添加admob。我的java代码是

LinearLayout layout = (LinearLayout)findViewById(R.id.LinearLayout1);
    AdView adView = new AdView(this);
    adView.setAdSize(com.google.android.gms.ads.AdSize.SMART_BANNER);
    adView.setAdUnitId("My_unit_id");

    layout.addView(adView,0);
    adView.loadAd(new com.google.android.gms.ads.AdRequest.Builder().build());

这段代码工作正常,并显示在顶部的广告,但问题是,广告推下布局之前加载的广告。我希望广告推后加载的广告布局。请有人帮助??谢谢

似乎必须检查是否有加载了方法的侦听器AdView.setAdListener


文档:

首先将布局的可见性更改为Gone

然后为AdListner编写以下代码


我添加了以下代码adView.setAdListenernew AdListener{@Override public void onAdLoaded{//TODO自动生成的方法stub super.onAdLoaded;layout.addViewadView,0;};在显示ad一段时间后,它会强制关闭并给出错误java.lang.IllegalStateException:指定的子级已经有父级。必须首先调用子级的父级上的removeView。
layout.setVisibility(View.GONE);
adView.setAdListener(new AdListener() {

                    @Override
                    public void onAdClosed() {
                        // TODO Auto-generated method stub
                        super.onAdClosed();
                    }


                    @Override
                    public void onAdLoaded() {
                        // TODO Auto-generated method stub
                        super.onAdLoaded();
                        layout.addView(adView);
                        layout.setVisibility(View.VISIBLE);

                    }


                    @Override
                    public void onAdOpened() {
                        // TODO Auto-generated method stub
                        super.onAdOpened();
                    }

                });