done()函数返回null ParseObject

时间:2018-05-30 12:48:21

标签: java android parse-platform parseobject

我想使用ParseObject删除数据库表中的一行。但是我无法这样做,因为显然done()函数返回一个null对象。 以下是我的删除代码

“vex”表名“objectId”是表格的 objectId

  Button yes=(Button)layout.findViewById(R.id.byes);
    yes.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(),"inside yes!",Toast.LENGTH_LONG).show();
            ParseQuery<ParseObject> query = ParseQuery.getQuery("Vex");
            query.whereEqualTo("objectId", objectId);
            query.getInBackground(objectId, new GetCallback<ParseObject>() {
                @Override
                public void done(ParseObject object, ParseException e) {

                    if (object == null) {
                        Log.d("vque", "The getFirst request failed.");
                    } else {
                        try {
                            object.delete();
                            object.saveInBackground();


                            Toast.makeText(getApplicationContext(), "Deleted Successuly.", Toast.LENGTH_SHORT).show();


                        } catch (ParseException e1) {
                            e1.printStackTrace();
                        }
                    }



                }
            });
}});

1 个答案:

答案 0 :(得分:0)

 query.whereEqualTo("objectId", objectId);

检查这一点我发现objectId是null.Hence,这是在函数done()中返回一个空的ParseObject。

我得到了null objectId,因为我使用这一行来检索objectId。

String objectId=object.getString("objectId");

虽然我应该使用:

String objectId=object.getObjectId();