Android数组创建抛出错误尝试写入空数组

时间:2016-01-07 00:45:44

标签: java android arrays

我有一个简单的Android应用程序正在处理,当用户点击它时,它会激活屏幕上的一些正方形,我有一个方形类和一个方形对象数组,但是当我尝试定义对象时然后它告诉我它无法写入空数组。这是代码:

Square Class:

public class Square {
int x = 0;
int y = 0;
int width = 0;
int height = 0;
boolean isAvailable = true;
Rect zShape = new Rect();
long xInterval = 0;
long yInterval = 0;

public Square (){

}
}

画布类:

public class MyCanvasView extends View {

Square[] squares;

public MyCanvasView(Context context){
    super(context);
    for(int i = 0; i < 100; i++){
        squares[i] = new Square();
        squares[i].setIntervals();
    }
}
}

画布是在主Activity中创建的,我打算在创建画布时创建方块。我不确定这里的错误导致我的空数组,但如果有人可以帮助我会非常感激。

2 个答案:

答案 0 :(得分:0)

在canvas类中,您需要定义Squares数组。

public MyCanvasView(Context context){
  squares = new Squares[100];
  super(context);
  for(int i = 0; i < 100; i++){
    squares[i] = new Square();
    squares[i].setIntervals();
  }
}

答案 1 :(得分:-1)

您需要实例化数组

public class MyCanvasView extends View {

Square[] squares = new Square[];

public MyCanvasView(Context context){
    super(context);
    for(int i = 0; i < 100; i++){
        squares[i] = new Square();
        squares[i].setIntervals();
    }
}
}