Android Dev - 如何通过类传递Drawables和Buttons?

时间:2011-02-17 06:20:39

标签: java android

我正在制作一个国际象棋应用程序,我为每个方块提供了一个类,例如:

公共广场{

public String squarecolor; // white or red
public int row, col;
public chesspiece myPiece = null; // null if empty
public ImageButton myButton;

public Drawable myDrawables[26];

}

在我的活动课中,棋盘上的每个方格都是一个图像按钮。每次我尝试引用方形类中的drawable或imagebutton我的程序崩溃。例如

public class NewGameActivity extends Activity {
        square [][] chessboard = new square[8][8];
        chessboard[0][0].myButton = (ImageButton) findViewById(R.id.aone);
        }

有没有允许这样的东西工作?

1 个答案:

答案 0 :(得分:1)

我认为这不是特定于Android的问题,而是一般的Java问题。

square [][] chessboard = new square[8][8];

你只为棋盘预留空间。你没有分配任何对象。

然后用

 chessboard[0][0].myButton = ...

您尝试访问尚未自行分配的(0,0)对象,因此.myButton使其取消引用NULL - > NPE - >崩溃。

您需要先通过

分配字段
chessboard[0][0] = new Square()

顺便说一句:你应该用大写字母Square

开始上课