字段不能分配内存?

时间:2012-04-30 06:37:42

标签: java android

我是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   
    }   
}

2 个答案:

答案 0 :(得分:3)

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

尝试更改

myImageViews = new MyImageViews[10];

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

答案 1 :(得分:1)

你想要

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