未删除分析对象(Android)

未删除分析对象(Android),android,parse-platform,Android,Parse Platform,我试图从parse.com类“GameScore”中删除一个对象,其中playerName等于当前玩家名称。我正在成功检索对象,但deleteInBackground函数不适用于我。(对象未从parse.com类中删除。我是parse和android新手。请任何人提供帮助 holder.deleteitem.setOnClickListener(new View.OnClickListener() { @Override public void onClick(

我试图从parse.com类“GameScore”中删除一个对象,其中playerName等于当前玩家名称。我正在成功检索对象,但deleteInBackground函数不适用于我。(对象未从parse.com类中删除。我是parse和android新手。请任何人提供帮助

holder.deleteitem.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            //String myname = worldpopulationlist.get(position).getName();

            ParseQuery<ParseObject> query = ParseQuery.getQuery("GameScore");
            query.whereEqualTo("playerName", worldpopulationlist.get(position).getName());
            query.getFirstInBackground(new GetCallback<ParseObject>() {

                @Override
                public void done(ParseObject object, ParseException e) {
                    // TODO Auto-generated method stub
                    if (object == null) {
                        Toast.makeText(context,"  not found",
                                Toast.LENGTH_SHORT).show();
                        } else {
                            object1.deleteInBackground(new DeleteCallback() {
                                           public void done(ParseException e) {
                                                 if (e == null) {
                                                     Toast.makeText(context,"  deleted",
                                                                Toast.LENGTH_SHORT).show();
                                                 } else {
                                                     Toast.makeText(context,"  not deleted",
                                                                Toast.LENGTH_SHORT).show();
                                                     e.printStackTrace();

                                                 }
                                               }
                                             });

                        }
                    }

            });
            Intent intent = new Intent(context, MainActivity.class);
            intent.setFlags( Intent.FLAG_ACTIVITY_NO_HISTORY);
            context.startActivity(intent);

        }


    });

可能是
deleteInBackground()
返回了一个错误,或者(不确定Android处理这个问题的方式)它在执行删除之前被垃圾收集


考虑向删除添加回调以至少记录删除的成功/错误。

可能是
deleteInBackground()
正在返回错误,或者(不确定Android处理此问题的方式)在执行删除之前正在进行垃圾收集


考虑向删除添加回调,以至少记录删除的成功/错误。

我遇到了类似的问题,我的问题是解析ACL权限

在最初创建对象的类(而不是要删除对象的类)中设置写入权限,如下所示:

    ParseACL defaultACL = new ParseACL();
    defaultACL.setPublicReadAccess(true);
    defaultACL.setPublicWriteAccess(true); //objects created are writable
    ParseACL.setDefaultACL(defaultACL, true);

我有一个类似的问题,我的问题是解析ACL权限

在最初创建对象的类(而不是要删除对象的类)中设置写入权限,如下所示:

    ParseACL defaultACL = new ParseACL();
    defaultACL.setPublicReadAccess(true);
    defaultACL.setPublicWriteAccess(true); //objects created are writable
    ParseACL.setDefaultACL(defaultACL, true);

您是否收到错误?是否显示“未找到”消息?@TimothyWalters否,我没有收到任何错误。它显示已删除。但对象未被删除。您是否收到错误?是否显示“未找到”显示消息?@TimothyWalters否,我没有收到任何错误。它显示已删除。但对象未被删除。我添加了回调,现在它显示未删除。`object.deleteInBackground(new DeleteCallback(){public void done(ParseException e){if(e==null){Toast.makeText(上下文,“已删除”,Toast.LENGTH_SHORT).show();}其他{Toast.makeText(上下文,“未删除”,Toast.LENGTH_SHORT).show();});`请将该代码添加到您的问题中,作为原始问题下方的编辑,同时尝试记录异常的内容,因为您现在知道,在尝试删除时,解析会出错。我已更新了日志cat,请查看一次。日志的第一行显示找不到对象,但当我使用object.getObjectId()时方法。它返回对象的正确objectId。现在我了解了问题所在。它与用户权限有关。用户只能删除自己的上载。但是,我已将权限设置为“任何用户都可以执行此操作”但它仍然不允许其他用户删除。这是该类的默认设置,但它也会考虑任何ACL,因此如果您在使用的对象上设置了ACL,则可以使用使用主键的云函数来解决此问题。我添加了回调,现在它显示为not deleted。`object.deleteInBackground(new DeleteCallback(){public void done(ParseException e){if(e==null){Toast.makeText(上下文,“已删除”,Toast.LENGTH_SHORT).show();}else{Toast.makeText(上下文,“未删除”),Toast.LENGTH_SHORT).show();});`请将该代码添加到您的问题中,作为原始问题下方的编辑,同时尝试记录异常的内容,因为您现在知道,在尝试删除时,解析会出错。我已更新了日志cat,请查看一次。日志的第一行显示找不到对象,但当我使用object.getObjectId()时方法。它返回对象的正确objectId。现在我了解了问题所在。它与用户权限有关。用户只能删除自己的上载。但是,我已将权限设置为“任何用户都可以执行此操作”但它仍然不允许其他用户删除。这是该类的默认设置,但它也会考虑任何ACL,因此,如果您在所使用的对象上设置了ACL,则可以使用使用使用主密钥的云函数来解决此问题。谢谢。我用另一种方法解决了此问题。我使用云代码来设置其创建对象时使用ACL。谢谢。我用另一种方法解决了这个问题。我在创建对象时使用了云代码来设置其ACL。