我有大约三个活动,所有这三个活动都在底部有横幅广告,这些广告由三个活动的OnCreate()方法中的代码设置.
由于某种原因,我需要在从一个活动转移到另一个活动时完成每个活动,并使用startActivity()返回第一个活动.
我想知道,我如何为所有这三个活动只制作一个横幅广告,而不是从不同的onCreate单独调用它们,因为我怀疑在活动过渡时我正在刷新广告(安静的),这不是一个好的练习点击.
我应该在一个静态类中声明它,以便可以从任何活动中调用它,只有一个实例可以存在(因此,由于活动创建没有刷新)
欢迎提出建议.
解决方法
你知道实现ViewStub吗?
对于您的问题,ViewStub用于在Footer中放置AdMob广告,您只需为此页脚创建布局,然后使用ViewStub示例将此布局包含在XML布局(活动布局)中.
这是一个用于实现ViewStub的example,是标题栏的,但你可以从中获取概念.
现在,为了优化解决方案(代码),您可以创建一个Abstract类并扩展Activity类,并在此类中包含您的AdMob广告代码.
例如:
public abstract class BaseActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } public void setFooterads() { // Make ViewStub visible // include your Ads code } }
现在,您只需在Activity类中扩展此BaseActivity类,并调用setFooterads()方法以显示AdMob广告.