无法为字段分配内存?



我是Java的新手。我在包含 myImageViews[0].v1 = new ImageView(context) 的行出现运行时错误。那里有什么问题吗?

class MyImageViews
{
    ImageView v1;
    ImageView v2;
}
MyImageViews[] myImageViews;
protected class MyLayout extends RelativeLayout {
    public MyLayout(Context context) {
        super(context);
        myImageViews = new MyImageViews[10];
        myImageViews[0].v1 = new ImageView(context); //runtime error at this line   
    }   
}

您已经创建了一个可以包含MyImageViews实例的数组,但尚未创建实例。 myImageViews[0]为空。

尝试更改

myImageViews = new MyImageViews[10];

myImageViews = new MyImageViews[10];
for (int i = myImageViews.length; --i >= 0;) {
  myImageViews[i] = new MyImageViews();
}

你想要

 myImageViews[0] = new MyImageViews(); 
 myImageViews[0].v1 = new ImageView(context); 

最新更新