2017-03-02 14 views
1

をクラッシュ:AdMobが、私はSurfaceViewとAdMobのバナー広告を追加したいが、それはコードであるここでNullPointerExceptionが、 を与える

private AdView mAdView; 
private LinearLayout ll; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
ll = new LinearLayout(this); 
mAdView = (AdView) findViewById(R.id.adView); 
AdRequest adRequest = new AdRequest.Builder() 
.build(); 
mAdView.loadAd(adRequest); 
ll.addView(mAdView); 
ll.addView(new GamePanel(this)); 
setContentView(ll); 
} 

GamePanelのSurfaceViewを拡張するクラスで、SurfaceHolder

を実装エラーは述べています:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.ads.AdView.loadAd(com.google.android.gms.ads.AdRequest)' on a null object reference 
                       at com.example.binnat.zigzag.MainActivity.onCreate(MainActivity.java:54) 

ライン52:mAdView.loadAd(adRequest)。

答えて

1

あなたのレイアウトにそのビューがまだありませんので、あなたのLinerLayoutにAdviewがあります。

あなたもちょうどあなたがあなたのLinearLayout作成した後に、あなたのsetContentViewコールを移動することができます:編集

mAdView = (AdView) ll.findViewById(R.id.adView); 

ll = new LinearLayout(this); 
setContentView(ll); 
+0

おかげで、それは私のミスを見つけるために多くのことを助けたが、実際に私が作成しましたxmlのバナー広告。私はXMLからそれを削除し、コードで試して、それは働いた – user3557576

関連する問題