Android子类和单独的Java文件
我正在为android开发一个应用程序,随着时间的推移,它可能会变得越来越大。我想做的是实现到主类的子文件中,以实现逻辑。例如: 主要活动使用surfaceviewAndroid子类和单独的Java文件,android,class,file,Android,Class,File,我正在为android开发一个应用程序,随着时间的推移,它可能会变得越来越大。我想做的是实现到主类的子文件中,以实现逻辑。例如: 主要活动使用surfaceview class Battle extends SurfaceView implements SurfaceHolder.Callback { 我想在名为touchActions.java的文件中添加与触摸事件相关的所有逻辑 public class touchActions extends Battle { 它在Eclipse中似乎
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();
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
}
编辑:
如果公众接触行动(u touch),;在战斗课上被宣布你做错了
应该是这样的
_touch = new touchActions();
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
}
这里没有足够的代码来查看问题所在。您在哪里初始化“touchActions”成员变量?为什么将
touchActions
作为Battle
的子类?它应该被设计成做自己的事情。如果需要访问<代码>战斗<代码>的实例变量,请考虑通过<代码>战斗<代码> >代码> < <代码> > <代码>触摸动作> /Case>对象,或使<代码>触摸动作类>代码>战斗> /代码>的内部类。(扩展Battle
意味着touchActions
对象将拥有Battle
对象中所有字段的独立副本。如果public touchActions
是在Battle类中声明的,这是一个巨大的设计缺陷Hopp,那么最好的方法是什么?我只想组织代码我在编辑之前没有读过@Ted Hopp的评论,但这确实是他写的