java - 显示图像 - 错误 : incompatible types: ParseObject cannot be converted to ParseFile

标签 java android image parse-platform fragment

我想从 Parse 数据库检索并显示文件类型数据 - 照片。在另一个 fragment 中,我使用了下面的方法,显示照片时没有任何问题,因为它是 ParseUser 对象的一列。

现在,我有一个简单的对象,但在运行它之前我的代码中出现以下错误:

Error:(114, 73) error: incompatible types: ParseObject cannot be converted to ParseFile

错误涉及这一行:prof_photo = (ParseFile)shop.get("photo");

<小时/>
String name = null;
if (getArguments() != null) {
    if (getArguments().getString("name") != null) {
        name = getArguments().getString("name");
        ParseUser currentUser = ParseUser.getCurrentUser();

        final ParseQuery<ParseObject> shop = ParseQuery.getQuery("Shop");
        shop.whereEqualTo("name", name);

        shop.findInBackground(new FindCallback<ParseObject>() {
            public void done(List<ParseObject> scoreList, ParseException e) {
                if (e == null) {

                    ParseFile prof_photo = null;
                    try {
                        prof_photo = (ParseFile)shop.get("photo");
                    } catch (ParseException e1) {
                        e1.printStackTrace();
                    }
                    if (prof_photo != null) {
                        prof_photo.getDataInBackground(new GetDataCallback() {
                            public void done(byte[] data, ParseException e) {
                                if (e == null) {
                                    // data has the bytes for the resume
                                    Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
                                    photo.setImageBitmap(bmp);
                                } else {
                                    // something went wrong
                                    String message = "Something went wrong with displaying the photo!";
                                    Toast.makeText(DisplayShopFragment.this.getActivity().getApplicationContext(), message, Toast.LENGTH_LONG).show();
                                }
                            }
                        });
                    }
                    else {
                        photo.setBackgroundResource(R.drawable.shop);
                    }
// ...
}

最佳答案

Error:(114, 73) error: incompatible types: ParseObject cannot be converted to ParseFile

因为shopParseObjectParseQuery而不是ParseFile。所以 shop 的 get 方法返回 ParseObject :

ParseObject prof_obj = (ParseObject)scoreList.get(0);
prof_photo = (ParseFile)prof_obj.get("photo");

关于java - 显示图像 - 错误 : incompatible types: ParseObject cannot be converted to ParseFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28190913/

相关文章:

java - JasperReports : java. lang.NoClassDefFoundError : Could not initialize class net. sf.jasperreports.engine.util.JRStyledTextParser

java - 如何使用 Java 测试与 Oracle 数据库的连接

java - GWT RPC 将对象从服务器端传递到客户端问题

javascript - 尽早检测图像的尺寸

android - 如何上传 gif 文件以在 android 中解析为解析文件

java - 在 JPA 2 中,使用 CriteriaQuery,如何计算结果

java - 从 uri android 加载图像

android - 如何使用 MediaStore 查询来获取没有重复的艺术家?

java - 如何选择一个图片目录(使用单选按钮)以 Java for Android 显示?

java - 在 JFrame 中设置背景图像