Android子类和单独的Java文件

时间:2011-06-14 12:27:19

标签: android class file

我正在制作一个Android应用程序,随着时间的推移会变得有点大。我想要做的是实现逻辑的主类子文件。例如:

主要活动使用surfaceview。

class Battle extends SurfaceView implements SurfaceHolder.Callback {

我想在一个名为touchActions.java的文件中添加与触摸事件相关的所有逻辑

public class touchActions extends Battle {

它似乎工作正常,Eclipse中没有错误。但是当我尝试在手机上运行它时,我会得到以下行的空指针异常。

if (_touch.checkHitBox(1)) {

_touch在宣布Battle类之后被启动。

public touchActions _touch;

执行此操作的正确方法是什么,或者导致nullpointerexception的原因是什么?

编辑:

这里的目标是组织代码,这样我就不会得到一个巨大的代码文件。我还可以在使用不同的文件时创建内部类吗?如果你知道一个教程,那也很棒。

1 个答案:

答案 0 :(得分:2)

  

_touch在宣布Battle类之后被启动。

     

public touchActions _touch;

未启动 ...只是声明你需要用这样的东西启动它

_touch = new touchActions();

编辑:

如果公开touchActions _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
}