您必须在实例化之前注册此ParseObject子类

Sub*_*bby 4 java android parse-platform

我在我的Android应用程序中使用以下错误Parse:

You must register this ParseObject subclass before instantiating it.

在我的Application对象中,我正在做以下内容onCreate:

Parse.enableLocalDatastore(this);
Parse.initialize(this, "code", "code");
Run Code Online (Sandbox Code Playgroud)

那么为什么我仍然会收到此错误?它昨天工作正常,但它突然停止工作.

这是我的清单文件:

 <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        ....
Run Code Online (Sandbox Code Playgroud)

logcat的:

 java.lang.IllegalArgumentException: You must register this ParseObject subclass before instantiating it.
            at com.parse.ParseObject.<init>(ParseObject.java:157)
            at com.parse.ParseObject.<init>(ParseObject.java:119)
            at usmaan.app.models.Game.<init>(Game.java:25)
            at usmaan.app.models.Game.to(Game.java:86)
            at usmaan.app.adapters.GamesAdapter.getView(GamesAdapter.java:47)
            at android.widget.AbsListView.obtainView(AbsListView.java:2344)
            at android.widget.ListView.makeAndAddView(ListView.java:1864)
Run Code Online (Sandbox Code Playgroud)

Sam*_*osa 15

你必须在打电话 ParseObject.registerSubclass(YourClassName.class); 前打电话 Parse.initialize().

此外,您需要注释您的自定义类,如下所示:

@ParseClassName("YourClassName")
public class YourClassName extends ParseObject
{
}
Run Code Online (Sandbox Code Playgroud)

最后,您的自定义类需要一个默认的no-args构造函数才能注册ParseObject.


参考:子类化解析对象