1

我遇到了一个奇怪的错误。我无法删除我Favourite的扩展对象ParseObject

当我尝试执行此代码时发生错误:

ParseQuery<Favourite> query = getCurrentUserFavouriteTracks(user, track);
query.findInBackground(new FindCallback<Favourite>() {
    @Override
    public void done(List<Favourite> objects, ParseException e) {
        if (e == null) {
            for (Favourite favourite : objects)
                favourite.deleteInBackground(new DeleteCallback() {
                    @Override
                    public void done(ParseException e) {
                        if (e != null)
                            Log.e("DEBUG_TAG", "Error", e);
                    }
                });
        }
    }
});

List<Favourite> objects为非空且不为空。执行上面的代码后,我在这一行收到当前错误Log.e("DEBUG_TAG", "Error", e);

com.parse.ParseException: java.lang.ClassCastException: com.squareup.okhttp.RequestBody$2 不能转换为 com.parse.ParseOkHttpClient$ParseOkHttpRequestBody

我发现一些信息表明该错误可能与 Stetho 有关。 关联

这是我的build.gradle和扩展的Application.class

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile 'junit:junit:4.12'
    androidTestCompile 'org.mockito:mockito-core:1.10.19'
    androidTestCompile 'com.android.support:support-annotations:23.1.1'
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    // Optional -- Hamcrest library
    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
    // Optional -- UI testing with Espresso
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'

    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.parse:parse-android:1.11.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.android.support:recyclerview-v7:23.1.1'
    compile 'com.facebook.android:facebook-android-sdk:4.6.0'
    compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.google.android.gms:play-services-location:8.4.0'
    compile 'com.google.android.gms:play-services-maps:8.4.0'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.1'
    compile 'com.google.code.gson:gson:2.5'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
    compile 'com.facebook.stetho:stetho:1.3.0'
    compile 'com.parse:parseinterceptors:0.0.1'
}

.

ParseObject.registerSubclass(Track.class);
ParseObject.registerSubclass(ParseWaypoint.class);
ParseObject.registerSubclass(UserType.class);
ParseObject.registerSubclass(City.class);
ParseObject.registerSubclass(ReachedWaypoint.class);
ParseObject.registerSubclass(TrackWaypoint.class);
ParseObject.registerSubclass(Favourite.class);

ParseUser.registerSubclass(MyParseUser.class);

Parse.enableLocalDatastore(this);

if (BuildConfig.DEBUG) {
    Stetho.initializeWithDefaults(this);

    Parse.addParseNetworkInterceptor(new ParseStethoInterceptor());
}

Parse.initialize(this, "****", "****");
ParseInstallation.getCurrentInstallation().saveInBackground();

我希望你能帮助我。如果您有任何问题,请发表评论。

4

1 回答 1

2

将 Parse Android SDK 升级到 1.13.0,应该可以修复它。(注意:该问题存在于 1.13.1 中)。

于 2016-12-12T02:58:50.107 回答