onMreate中的AdMob广告确定,但如果您返回活动就会消失,为什么?

Jim*_*mmy 0 android admob android-2.1-eclair

我在我的活动中添加了一个广告,如下所示:

@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());


}
Run Code Online (Sandbox Code Playgroud)

这加载了广告.但是,如果我单击菜单按钮并修改某些共享首选项并返回,则广告已消失且无法重新填充.

这就是我从我的活动中导航的方式,注意我没有在活动上调用完成,因此在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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我离开活动并返回,我如何确保广告不会丢失?

小智 5

我个人在onStart()中创建了一个新的AdRequest:

public void onStart() {
    super.onStart();
    if(adView != null) {
        adView.loadAd(new AdRequest());
    }
}
Run Code Online (Sandbox Code Playgroud)