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