我正在为android制作一个应用程序,它可能会随着时间的推移而变得越来越大。我想做的是实现到逻辑的主类子文件中。例如:
主要活动使用表面视图。
class Battle extends SurfaceView implements SurfaceHolder.Callback {
我想在一个名为touchActions.java的文件中添加所有与触摸事件相关的逻辑
public class touchActions extends Battle {
它在Eclipse中运行良好,没有任何错误。但当我尝试在手机上运行它时,我会得到以下行的空指针异常。
if (_touch.checkHitBox(1)) {
_在宣布战斗等级后开始触摸。
public touchActions _touch;
正确的方法是什么,或者是什么可能导致nullpointerexception?
编辑:
这里的目标是组织代码,这样我就不会得到一个巨大的代码文件。我可以在使用其他文件的同时创建一个内部类吗?如果你知道一个教程,那也太好了。
_在宣布战斗等级后开始触摸。
public touchActions_touch;
未启动。。。只是声明你需要用类似的东西初始化它
_touch = new touchActions();
编辑:
如果公共触摸Actions_touch;在战斗课上被宣布你做错了。。。
应该是像这个
class Battle extends SurfaceView implements SurfaceHolder.Callback {
public touchActions _touch;
public Battle (){
_touch = new touchActions(this);
_touch.callingMethodFromTouch();
}
}
//should not extends Battle
public class touchActions {
Battle parent_;
public touchActions (Battle parent){
parent_ = parent;
}
.... rest of implemetation you can call parent_.methodFromBattleClass(); here
}