2014-02-05 4 views
1

Я пытаюсь реализовать Google AdMob SDK, я адресность этой ошибкиAdmobError: Конструктор AdView (MainActivity.Application, AdSize, String) не определен

The constructor AdView(MainActivity.Application, AdSize, String) is undefined 

на этом AdView = new AdView(this, AdSize.BANNER,

Любая помощь?

public class Application extends android.app.Application { 

    public Application() { 
    } 
    public void displayAd() { 
     if (displayAd == true) { 
      // Create the adView 
      try { 
       if (adView != null) { 
        adView.destroy(); 
       } 
       adView = new AdView(this, AdSize.BANNER, this.getString(R.string.admob_publisher_id)); 
       LinearLayout layout = (LinearLayout) findViewById(R.id.adLayout); 
       layout.addView(adView); 
       adView.loadAd(new AdRequest()); 
      } catch (OutOfMemoryError e) { 
       e.printStackTrace(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } else { 
      LinearLayout layout = (LinearLayout) findViewById(R.id.adLayout); 
      layout.setLayoutParams(new LinearLayout.LayoutParams(0, 0)); 
      layout.setVisibility(View.INVISIBLE); 
     } 
    } 
} 
+0

Вы объявляете adView где угодно? – Avijit

+0

Вместо AdView (это ....) используйте название своей деятельности, например: AdView (MainActivity.this ...) – Aashir

ответ

0

Вместо

adView = new AdView(this, AdSize.BANNER,this.getString(R.string.admob_publisher_id)); 

использования

adView = new AdView(this.getApplicationContext(), AdSize.BANNER,this.getString(R.string.admob_publisher_id)); 
0

Вы пытаетесь создать свой AdView с помощью приложения в качестве входных данных, которые не могут сделать. AdView является компонентом пользовательского интерфейса и должен быть сконструирован в контексте вашей деятельности.

Смените свой код на свою активность и передайте экземпляр Activity вместо приложения в конструктор AdView.

Смежные вопросы