使用android显示9x9 BoardCell
我正在尝试为9x9尺寸板绘制一个包含81个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
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];