Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用android显示9x9 BoardCell_Android - Fatal编程技术网

使用android显示9x9 BoardCell

使用android显示9x9 BoardCell,android,Android,我正在尝试为9x9尺寸板绘制一个包含81个boardcell的板 public abstract class BoardCell { private float x, y; public BoardCell( float x, float y ) { this.x = x; this.y = y; } public abstract void drawBoardCell( Canvas canvas, float x, float y, float width, Paint

我正在尝试为9x9尺寸板绘制一个包含81个boardcell的板

public abstract class BoardCell {
 private float x, y;
 public BoardCell( float x, float y ) {
   this.x = x;
   this.y = y;
 }

 public abstract void drawBoardCell( Canvas canvas, float x, float y, float width, Paint paint );
}
然后我有其他子类Board扩展并实现BoardCell中的所有抽象方法

我的问题是,我可以做如下事情:

Class Game extends View {
  BoardCell[][] myBoard;
  for( int i = 0; i < 9; i++ ) {
    for( int j = 0; j < 9; j++ ) {
      myBoard[i][j] = new Board( x, y );
      myBoard.drawBoardCell( canvas, x, y, width, paint );
    }
  }
}
类游戏扩展视图{
BoardCell[][]我的董事会;
对于(int i=0;i<9;i++){
对于(int j=0;j<9;j++){
我的董事会[i][j]=新董事会(x,y);
myBoard.drawBoardCell(画布、x、y、宽度、油漆);
}
}
}

我的代码适用于BoardCell myBoard,但不适用于BoardCell的2D数组:(

您需要引用刚刚制作的最新板的索引。更改

myBoard.drawBoardCell( canvas, x, y, width, paint );


您还需要将代码封装在方法中并实例化数组。如果您不确定这是如何工作的,请阅读一些Java教程,其中有很多教程。

使用此代码,您需要首先实例化数组。您只需定义myBoard即可

BoardCell[][] myBoard = new BoardCell [9][9];
BoardCell[][] myBoard = new BoardCell [9][9];