我如何以编程方式从surfaceview访问主要活动以删除adView

时间:2013-09-10 15:36:58

标签: surfaceview adview main-activity

我的主要活动是调用我的Surfaceview游戏,设置添加了广告和平面视图的布局(最初我在使用横幅之前根本没有使用布局)。但是我无法从surfaceview访问主要活动来更改布局,因此一旦游戏开始它就不包括广告视图。由于这个原因,我不得不持续不断横幅。试图杀死广告仍然留下一个空白横幅。有谁知道如何从surfaceview访问主要活动功能。

我在主活动中创建了一个removead()函数来定义没有adView的新上下文视图,但我无法访问它。

主要活动

context在创建时传递给Surfaceview。我试过了:

context.removead();
this.getContext().removead();
((Activity) this.getContext()).removead();
ViewGroup vg = (ViewGroup)(
this.getParent());
vg.removeView(adView);

1 个答案:

答案 0 :(得分:0)

我最终放弃了直接从surfaceView控制adAiew的尝试,而是在主活动中创建一个Handler,并从SurfaceView向其创建主要活动的消息。然后,处理程序根据发送的消息调用VISIBLE或GONE到adAiew。