我试图通过"找到一个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) {
}
});
}
答案 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数据。