Android:从Parsefile加载一个imageview

时间:2014-12-29 02:55:44

标签: android image parse-platform imageview

我试图通过"找到一个ParseObject。 objectId",然后检索图像" ImageFile"然后将它加载到imageview,它没有工作,我得到了USER字符串,你可以帮我解决这个问题,当我使用另一个查询时,它可以工作:query.find()

      ParseImageView mealImage = (ParseImageView) findViewById(R.id.icon);

    ParseQuery<ParseObject> query1 = ParseQuery.getQuery("Annonces");


    query1.getInBackground("ux3Af0cwEx", new GetCallback<ParseObject>() {
      public void done(ParseObject Annonces, ParseException e) {


             photoFile = (ParseFile) Annonces.get("ImageFile");
             text1.setText((CharSequence) Annonces.get("USER"));

      }
    });
    mealImage.setParseFile(photoFile);
    mealImage.loadInBackground(new GetDataCallback() {
        @Override
        public void done(byte[] data, ParseException e) {

        }
    });

    }

2 个答案:

答案 0 :(得分:4)

在imageview中显示图像的代码:

ParseFile image = (ParseFile) userData.getParseFile("user_image");

然后调用以下函数。

loadImages( photoFile, mealImage);

private void loadImages(ParseFile thumbnail, final ImageView img) {

    if (thumbnail != null) {
        thumbnail.getDataInBackground(new GetDataCallback() {
            @Override
            public void done(byte[] data, ParseException e) {
                if (e == null) {
                    Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
                    img.setImageBitmap(bmp);
                } else {
                }
            }
        });
    } else {
        img.setImageResource(R.drawable.menu);  
    }
}// load image

答案 1 :(得分:1)

如果您使用 Picasso Glide 进行图片加载,并且不想更改图片加载逻辑,则可以从中提取图片网址ParseFile 并在后台加载它。 喜欢:

ParseFile thumbnail = parseObject.getParseFile("image");
if(thumbnail != null) {
    String imageUrl = thumbnail.getUrl();
    Picasso.with(mContext).load(imageUrl).into(imageView);
}

无需单独加载缩略图 ParseFile数据。