Android ParseFile数组没有加载图片

时间:2014-09-20 20:24:55

标签: android listview parse-platform

我有一个ParseObjects数组,它们正在列表视图中显示。三个文本视图被加载到我的自定义单元格中,然后在ParseFile中还有一个图像也应加载。我的代码获得了正确加载的第一个单元格,但在其他每个单元格中都没有加载图像。这是我的代码:

        this.origImage = (ParseFile) posts.get(position).get("image");
        try {
            Log.d("MyMessage", "Gonna convert image");
            this.imageData = this.origImage.getData();
            this.options = new BitmapFactory.Options();
            this.options.inDither = true;
            this.options.inPreferredConfig = Bitmap.Config.ARGB_8888;
            this.options.inSampleSize = 8;
            this.notConvertedYet = BitmapFactory.decodeByteArray(this.imageData, 0, this.imageData.length, this.options);
            if (this.notConvertedYet != null)
                this.myBitmap = rotateImage(90, this.notConvertedYet);
            else
                this.myBitmap = this.notConvertedYet;
            mHolder.picImageView.setImageBitmap(this.myBitmap);
            Log.d("MyMessage", "Converted image");

        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

发生什么事情搞乱了?

1 个答案:

答案 0 :(得分:0)

当它绑定到列表适配器时,

是什么
posts.get(position).get("image");
实际上呢?解析SDK是否在解析文件CDN中的实际URL上调用网络Http GET的一系列AsyncTasks?

您可能需要了解更多有关它的功能的原因,因为它可能不如Adapter.getView()所使用的效率高......

任何像Volley这样的图像加载器框架,如通用图像加载器,如AQuery,都会像api一样工作,在那里你可以调用ImageView和图像的CDN URL作为参数。该框架将处理所有图像的多线程,池化Parse.com连接,memCache和fileCache。使用parse在文件CDN中存储位图时,您仍然可以使用任何图像加载框架。

适配器中的AQuery示例......

ImageView thumbnail=(ImageView)vi.findViewById(R.id.imageView1); // thumb image
mAquery.id(thumbnail).width(110).image($thumbUrl_CDN,
        true, true, 0, R.drawable.default_video, null, 0, mAspectRatio);  

您的代码看起来不错..也许所有imageViews都是黑色的原因是适配器没有时间通过​​网络加载文件并且循环语句没有阻止UI线程?