将adMob代码添加到libGDX android应用程序时,应用程序意外停止

时间:2014-04-06 06:23:28

标签: android crash libgdx admob

我正在尝试将adMob广告添加到通过libGDX创建的Android游戏中。我按照以下教程:https://code.google.com/p/libgdx/wiki/AdMobInLibgdx

我的应用程序崩溃了。这是我的代码。

protected AdView adView;
    @Override
        public void onCreate(Bundle savedInstanceState) {

               super.onCreate(savedInstanceState);



            // Create the layout
                RelativeLayout layout = new RelativeLayout(this);

            // Do the stuff that initialize() would do for you
                requestWindowFeature(Window.FEATURE_NO_TITLE);
                   getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

            // Create the libgdx View
                AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
                cfg.useGL20 = true;
                View gameView = initializeForView(new TBGame(), cfg);

            // Create and setup the AdMob view
                AdView adView = new AdView(this, AdSize.IAB_BANNER, adMobID); 
                adView.loadAd(new AdRequest());

            // Add the libgdx view
                layout.addView(gameView);

            // Add the AdMob view
                RelativeLayout.LayoutParams adParams = 
                    new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
                                    RelativeLayout.LayoutParams.WRAP_CONTENT);
                adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
                adParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);

                layout.addView(adView, adParams);

            // Hook it all up
                setContentView(layout);

}

我尝试调试,发现崩溃发生在

AdView adView =新AdView(此广告,AdSize.IAB_BANNER,adMobID);

谁能告诉我哪里出错了。

1 个答案:

答案 0 :(得分:0)

你的问题是你调用了initializeForView(),它用自己的视图调用setContentView(非常差的API IMO),然后调用setContentView()并用你自己的视图替换它。

您只能拥有一个ContentView。

该指南似乎完全被打破了。