Java数组[]大小未知 - 错误是什么?

时间:2014-09-25 23:53:19

标签: java arrays class nullpointerexception

ImageItem imageItems[] = new ImageItem[data.length()]; 

for (int i=0; i<data.length(); i++) {

        JSONObject object = data.getJSONObject(i);
        Log.e("RESPONSE INFO::::", "id:" + object.get("id").toString());

        imageItems[i].imageId     = object.get("id").toString();    //NullPointerException
        imageItems[i].imageURI    = object.get("source").toString();
        imageItems[i].thumbURI    = object.get("picture").toString();
        imageItems[i].createdTime = object.get("created_time").toString();
        imageItems[i].link        = object.get("link").toString();

}

以上是某种无法解决的平庸问题。我仍然得到 NullPointerException 与评论一致。起初我认为JSONobjects有些错误,但我确信object.get("id").toString();返回正确的String。 imageItems[]数组必定有问题。

ImageItem是一个包含很少字符串字段的简单类:

public class ImageItem {
    public String imageId = null;
    public String imageURI = null;
    public String thumbURI = null;
    public String createdTime = null;
    public String link = null;
}

我在这里缺少什么想法?

编辑:我应该提到ImageItem类是另一个类AlbumGallery的内部类。现在我收到错误: 无法访问类型为AlbumGallery的封闭实例。必须使用AlbumGallery类型的封闭实例限定分配(例如x.new A(),其中x是AlbumGallery的实例)。 imageItems[i] = new ImageItem()

1 个答案:

答案 0 :(得分:5)

在for循环顶部的

添加imageItems[i] = gallery.new ImageItem()