0

私はAndroidゲームを作っています。アクティビティを拡張するMainクラスと、Viewを拡張するGameクラスがあります。

アクティビティのコンテンツビューをゲームクラスのインスタンスに設定しています。したがって、XMLで作成されたレイアウトは使用しません。

ゲームオブジェクトにAdMob広告を追加する際に問題が発生しました。設定方法がよくわかりません。これは私が今持っているものです:

AdView adView;
String AD_ID = "XXXXXXXXXXXXXX";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    game = new Game(this);

    setContentView(game);


    // Create the adView
    adView = new AdView(this, AdSize.BANNER, AD_ID);

    LinearLayout layout = (LinearLayout)game; // ERROR HERE

    // Add the adView to it
    layout.addView(adView);

    // Initiate a generic request to load it with an ad
    adView.loadAd(new AdRequest());
}

public class Game extends View{
...
}

また、これは私のマニフェストにあります:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >

    <activity 
        android:name="com.google.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation"
       />

LinearLayoutを使用して、Viewを拡張するクラスに広告を表示する方法がわかりません。何か助けはありますか?

4

1 に答える 1

0

これはあなたのために働くはずです:

AdView adView;
String AD_ID = "XXXXXXXXXXXXXX";

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);

          LinearLayout mainPanel = new LinearLayout(this);

          mainPanel.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
                                           LayoutParams.FILL_PARENT));
          mainPanel.setOrientation(LinearLayout.VERTICAL);

          Game game = new Game(this);
          adView = new AdView(this, AdSize.BANNER, AD_ID);

          mainPanel.addView(game);
          mainPanel.addView(adView);

         // Initiate a generic request to load it with an ad
          adView.loadAd(new AdRequest());

          setContentView(mainPanel);

}

public class Game extends LinearLayout{
...
}
于 2012-06-04T02:34:12.923 に答える