我写了一个游戏,使用了android SDK示例月球着陆器的模板,但我在模板中发现了一个错误。经过多次尝试,我无法按照自己的意愿修复它。所以我将游戏模板改为Chris pruett的SpriteMethodTest http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest在这个模板中我遇到了一些问题。
问题: 在CanvasTestActivity.java onCreate()方法中: 代码使用:
初始化surfaceviewmCanvasSurfaceView = new CanvasSurfaceView(this); ... 的setContentView(mCanvasSurfaceView);
我想使用布局文件来获取我的surfaceview,所以我创建了一个这样的布局文件:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<me.codeand.xxx.CanvasSurfaceView
android:id="@+id/gameview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
我在oncreate()方法中更改了代码:
mCanvasSurfaceView =(CanvasSurfaceView)findViewById(R.id.gameview); 的setContentView(R.layout.main);
findViewById始终返回null!我不知道为什么!真的需要帮助!
BTW,如何使用以下方法在Android应用中添加admob广告: mCanvasSurfaceView = new CanvasSurfaceView(this); 的setContentView(mCanvasSurfaceView);
我在网上找不到任何样本:(
最诚挚的问候, czYang
答案 0 :(得分:1)
您确定在setContentView(R.layout.main)
之前致电findViewById
吗?
要添加AdMob广告,最简单的方法是创建RelativeLayout,使用addContentView
将其添加到窗口,然后使用Gravity.BOTTOM布局参数将admView中的AdView添加到相对布局的底部。