Реклама AdMob в onCreate ОК, но исчезает, если вы возвращаетесь к активности, почему?

Я добавил объявление в свою деятельность следующим образом:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.languageselection);

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

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

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

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


}

Это загружает объявление в порядке. Однако, если я нажимаю кнопку меню и изменяю некоторые общие настройки и возвращаюсь, объявление исчезает и не заполняется заново.

Вот как я выхожу из своей активности, замечая, что я не вызываю финиш на этой активности, поэтому объявление, созданное в onCreate, все еще должно быть там?

@Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.aboutme:
                startActivity(new Intent(this, About.class));
                return true;
            case R.id.help:
                startActivity(new Intent(this, Help.class));
                return true;
            case R.id.preferences:
                startActivity(new Intent(this, EditPreferences.class));
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

Как я могу гарантировать, что объявление не потеряется, если я уйду от активности и вернусь?

1 ответ

Решение

Лично я создаю новый запрос AdRequest в onStart():

public void onStart() {
    super.onStart();
    if(adView != null) {
        adView.loadAd(new AdRequest());
    }
}
Другие вопросы по тегам