我正在将一个 int 数组从一个类传递到另一个类,但是当我尝试从中访问值时出现错误。我不知道为什么,希望有人能启发我吗?
这是调用第二个类的第一个类:
public class ConvertToGrid extends Activity{
DrawGrid v;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...code...
int[] binArray = {Color.RED, Color.WHITE, Color.YELLOW, ...};
v = new DrawGrid(this, binArray);
setContentView(v);
}}
这调用了我的 DrawGrid 视图:
public class DrawGrid extends View{
private int[] binary;
public DrawGrid(Context context) {
super(context);
}
public DrawGrid(Context context, int[] inBinary) {
super(context);
binary = inBinary.clone();
}
int sq00c = binary[0];
...etc}
我做错了什么以至于它无法访问这个称为二进制的 int 数组?如果我将 int 数组移动到 DrawGrid 中,它可以毫无问题地访问单元格,但是通过我的构造传递它似乎使它无法访问。如果有人问,我不能只在 DrawGrid 中定义数组,因为它是由 ConvertGrid 中的代码定义的。
也许我以错误的方式解决这个问题,并且有更好的方法来传递 int 数组?谢谢
编辑:
日志猫:
E/AndroidRuntime(12035): FATAL EXCEPTION: main
E/AndroidRuntime(12035): java.lang.RuntimeException: Unable to start activity ComponentInfo{bras2756.ox.ac.uk.colourgrid/bras2756.ox.ac.uk.colourgrid.ConvertToGrid}: java.lang.NullPointerException