Реклама AdMob в onCreate ОК, но исчезает, если вы возвращаетесь к активности, почему? - PullRequest
0 голосов
/ 04 января 2012

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

@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 Ответ

5 голосов
/ 04 января 2012

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

public void onStart() {
    super.onStart();
    if(adView != null) {
        adView.loadAd(new AdRequest());
    }
}
...