com.parse.ParseObject无法强制转换为

Ron*_*shi 5 java android parse-platform parse-server parse-sdk-android

我正在开发具有Parse Platform的应用程序.要获取数据我正在调用ParseCloud.callFunctionInBackground函数.

我已将Parse及其子类注册到Application类中,如下所示:

public class App extends Application {
    @Override
    public void onCreate(){
        super.onCreate();
        Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE);    
        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
        httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        builder.networkInterceptors().add(httpLoggingInterceptor);    
        ParseObject.registerSubclass(ParseMessage.class);
        Parse.initialize(new Parse.Configuration.Builder(this)
                        .applicationId("KEY")
                        .server("URL")
                        .build());
    }
}
Run Code Online (Sandbox Code Playgroud)

我有下面扩展ParseObject的模型类:

@ParseClassName("ParseMessage")
public class ParseMessage extends ParseObject {

    // Ensure that your subclass has a public default constructor
    public ParseMessage() {
        super();
    }

    public ParsePhoto getPhotos() {
        return (ParsePhoto) getParseObject("photos");
    }

    public void setPhotos(ParsePhoto value) {
        put("photos", value);
    }

    public String getCaption() {
        return getString("caption");
    }

    public void setCaption(String value) {
        put("caption", value);
    }

}
Run Code Online (Sandbox Code Playgroud)

当我从片段中调用以下方法时:

HashMap<String, Object> params = new HashMap<String, Object>();
ParseCloud.callFunctionInBackground("MY_METHOD", params, new FunctionCallback<ArrayList<ParseMessage>>() {
            public void done(ArrayList<ParseMessage> mapObject, ParseException e) {
                if (e == null) {
                    ParseMessage object = mapObject.get(i);
                    }
                } else {
                }
    }
});
Run Code Online (Sandbox Code Playgroud)

但我得到以下异常:

java.lang.ClassCastException:com.parse.ParseObject无法强制转换为com.example.ParseMessage

我已经从谷歌和Stackoverflow搜索了很多东西,但我没有得到任何解决方案.任何人都可以帮助我,因为我已经花了很多时间在这上面.以下是我从Parse获得的回复:

来自Parse的回复

小智 0

您提供的信息不是很具体,但从调试器屏幕来看,您似乎正在尝试转换ParsePhotoParseMessage. ParsePhoto是 的子类ParseObject,我相信这是导致问题的原因。