我已经阅读了几个示例程序和教程来尝试解决我的问题,但它们似乎都是一样的。我使用了一些活动和xml文档来创建一个在我的游戏开始时加载的菜单。当用户单击“开始游戏”按钮时,它会加载一个新的活动,该活动使用我的游戏线程和所有游戏属性设置视图。我知道这个活动是有效的,因为我将它作为自己的项目单独运行,但我尝试在菜单之后启动它的每一种方式,我得到一个nullPointerException并强制关闭。我阅读了SurfaceViewOverlay教程并尝试使用该实现,但我使用的是SurfaceView,而不是GLSurfaceView。我正在辩论重写我的整个程序以使用OpenGL,但我想我会看到是否有其他人知道我在这里做错了什么。如果你需要代码片段,我可以在这里粘贴一些,但实际上并不是特定的代码是错误的,我认为这是我使用(滥用)语言的方式......
感谢您的帮助, 亚伦
答案 0 :(得分:0)
我很久以前就发现了我的问题,但我想我会回来给别人解决我的问题。使用SurfaceView时,它必须是创建它的活动的一部分,并且在xml中用于该活动的某种FrameLayout。
例如:
<com.example.MySurfaceView
android:id="@+id/mySurfaceView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
您可以添加任何其他您想要的布局元素,但这是创建SurfaceView所必需的。我希望这可以帮助其他遇到我问题的人,因为任何进一步的问题只会问,我会在必要时详细说明。