1

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

2 回答 2

3

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

尝试改变

myImageViews = new MyImageViews[10];

myImageViews = new MyImageViews[10];
for (int i = myImageViews.length; --i >= 0;) {
  myImageViews[i] = new MyImageViews();
}
于 2012-04-30T06:40:20.020 回答
1

你要

 myImageViews[0] = new MyImageViews(); 
 myImageViews[0].v1 = new ImageView(context); 
于 2012-04-30T06:39:57.653 回答