3

これは、広告を追加したアクティビティです。

 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);

/*  Intent intent = new Intent(this, SelectArticle.class);
    startActivity(intent);*/

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

    // Lookup your LinearLayout assuming it's been given
    // the attribute android:id="@+id/mainLayout"
    TableLayoutlayout = (TableLayout)findViewById(R.layout.activity_main);

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

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

    setContentView(R.layout.activity_main);
}

マニフェストの最後に:

      <activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    </application>

</manifest>

jar ファイル googleAdmob も追加します。

アプリを開くとクラッシュします。何を追加すればよいですか?

4

1 に答える 1

0

アプリがクラッシュする理由は、 を呼び出すfindViewById()前に呼び出しているためですsetContentView()。これを修正するには、線を線setContentView(R.layout.activity_main)のすぐ下に移動しsuper.onCreate()ます。findViewById を呼び出すと、レイアウトであるため機能しない R.layout.main_activity を使用しているため、それでも問題は解決しません。linearlayoutXMLファイルに属性をandroid:id="@+id/main_activity指定する必要があり、次に線形レイアウトをインスタンス化する行を変更する必要があります

findViewById(R. id .activity_main)

于 2013-04-21T07:20:09.113 に答える