Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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
Java Android开发人员-如何通过类传递绘图和按钮?_Java_Android - Fatal编程技术网

Java Android开发人员-如何通过类传递绘图和按钮?

Java Android开发人员-如何通过类传递绘图和按钮?,java,android,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]; } 在我的活动课上,黑板上的每个方块都是一个imagebu

我正在制作一个国际象棋应用程序,我对棋盘的每个方块都有一个类,例如:

公共课广场{

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

public Drawable myDrawables[26];
}

在我的活动课上,黑板上的每个方块都是一个imagebutton。每次我尝试引用square类中的drawable或imagebutton时,我的程序都会崩溃。比如说

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

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

我认为这不是android特有的,而是Java的一个普遍问题

你只为一个棋盘保留空间。您不分配任何对象

然后

 chessboard[0][0].myButton = ...
您试图访问(0,0)处的对象,但该对象本身尚未分配,因此.myButton使其取消对NULL->NPE->crash的引用

您需要首先通过分配字段

chessboard[0][0] = new Square()

顺便说一句:你应该用大写字母开头类名,比如
Square

是的,我终于明白了。谢谢你花时间回答,非常感谢。嘿,佛朗哥,很高兴这对你有帮助。你知道“接受这个答案”复选标记吗?试试看:-)
chessboard[0][0] = new Square()