2017-03-02 15 views
1

내가 서피스 뷰 SurfaceView와 몹 배너 광고를 추가 할 충돌하지만, 여기 코드입니다 NullPointerException이 제공 :서피스 뷰 SurfaceView와 AdMob은

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