0
我在游戏中实现了admob,但我的游戏使用surfaceview来显示图形。显示隐藏在Surfaceview中的AdMob
我该如何“访问”表面视图内的AdMob视图?
编辑2:
试图执行回调:
MainActivity.class
interface AdMobInterface {
public void HideAd();
public void ShowAd();
}
public class MainActivity extends Activity implements AdListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
layout = new RelativeLayout(this);
engine = new Engine(this);
layout.addView(engine);
if(engine.IsDemoVersion) {
SetupAdMob();
}
setContentView(layout);
}
public void ShowAd() {
///Execute this from Engine.class
}
public void HideAd() {
///Execute this from Engine.class
}
private void SetupAdMob() {
String AdMobPublisherID = "XXXXXXXXXX";
adView = new AdView(this, AdSize.BANNER, AdMobPublisherID);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layout.addView(adView, params);
layout.bringChildToFront(layout.getChildAt(1));
adView.loadAd(new AdRequest());
}
}
Engine.class
public class Engine extends SurfaceView implements
SurfaceHolder.Callback, SensorEventListener, AdMobInterface {
AdMobInterface AdMob;
public Engine(Context context, AdMobInterface admob) {
super(context);
AdMob = admob;
}
}
但游戏发生在'引擎'里面 - 我不能点击屏幕上的“按钮”对象来切换广告? this.ContentViewContainer.HideAd(); ...类似的东西 – GideonKain
将回调接口传递给您的引擎,并在需要时调用它。您的基本活动将执行界面并执行实际的添加/删除操作。 –
有关如何“传递CallBack接口”的任何提示? 发现此:http://www.javaworld.com/javatips/jw-javatip10.html 试图执行它无济于事 – GideonKain