在Android Studio中显示Admob横幅时出错

在Android Studio中显示Admob横幅时出错,android,admob,banner,Android,Admob,Banner,我试图在我的游戏中放置一个横幅,但当我执行它时,会显示横幅而不是游戏,当我修改代码时,会显示游戏而不是横幅,这是我的“mainavity.java”代码: 注意:在internet上搜索一些解决方案,并告诉我必须修改变量“setContentView(view);”显示游戏和变量“setContentView(layout);”显示横幅 import android.app.Activity; import android.content.SharedPreferences; import an

我试图在我的游戏中放置一个横幅,但当我执行它时,会显示横幅而不是游戏,当我修改代码时,会显示游戏而不是横幅,这是我的“mainavity.java”代码:

注意:在internet上搜索一些解决方案,并告诉我必须修改变量“setContentView(view);”显示游戏和变量“setContentView(layout);”显示横幅

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Window;
import android.widget.LinearLayout;

import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.ads.MobileAds;

public class MainActivity extends Activity {
    InterstitialAd mInterstitialAd;
    private InterstitialAd interstitial;
    MainView view;
    public static final String WIDTH = "width";
    public static final String HEIGHT = "height";
    public static final String SCORE = "score";
    public static final String HIGH_SCORE = "high score temp";
    public static final String UNDO_SCORE = "undo score";
    public static final String CAN_UNDO = "can undo";
    public static final String UNDO_GRID = "undo";
    public static final String GAME_STATE = "game state";
    public static final String UNDO_GAME_STATE = "undo game state";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        view = new MainView(getBaseContext());

        SharedPreferences settings = PreferenceManager
                .getDefaultSharedPreferences(this);
        view.hasSaveState = settings.getBoolean("save_state", false);

        if (savedInstanceState != null) {
            if (savedInstanceState.getBoolean("hasState")) {
                load();
            }
        }
        setContentView(view);

        //Add this in OnCreate of Activity to initialize the ad
        MobileAds.initialize(getApplicationContext(), "ca-app-pub-3940256099942544/6300978111");

        //Add this wherever your code needs to add the ad

        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);

//Additionally to adjust the position to Bottom
        layout.setGravity(Gravity.BOTTOM);

// Create a banner ad
        AdView mAdView = new AdView(this);
        mAdView.setAdSize(AdSize.SMART_BANNER);
        mAdView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");

// Create an ad request.
        AdRequest.Builder adRequestBuilder = new AdRequest.Builder();

// Optionally populate the ad request builder.
        adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);

// Add the AdView to the view hierarchy.
        layout.addView(mAdView);

// Start loading the ad.
        mAdView.loadAd(adRequestBuilder.build());

        setContentView(layout);

        AdRequest adRequest = new AdRequest.Builder().build();

        // Prepare the Interstitial Ad
        interstitial = new InterstitialAd(MainActivity.this);
// Insert the Ad Unit ID
        interstitial.setAdUnitId(getString(R.string.admob_interstitial_id));

        interstitial.loadAd(adRequest);
// Prepare an Interstitial Ad Listener
        interstitial.setAdListener(new AdListener() {
            public void onAdLoaded() {
// Call displayInterstitial() function
                displayInterstitial();
            }
        });

    }

    public void displayInterstitial() {
    // If Ads are loaded, show Interstitial else show nothing.
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }

    ...

谢谢,我希望能迅速解决。

您不应该为查看和布局调用
setContentView()
,而应该为您的游戏调用setContentView。MainView的根布局应为RelativeLayout或FrameLayout,并使用布局参数将AdView添加到根布局的底部、顶部或任意位置。

请提供任何示例?