我是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();
}

08-05 02:55