在检索Parse对象id而不是实际id时获取当前时间戳

时间:2015-09-14 18:51:55

标签: java android database parse-platform

我在我的一个主要活动中有一个getQuery,我从一个解析类中检索所有行。在该查询中,我执行parseObject.getObjectId()并将其分配给属于对象的字符串变量。

在一个单独的活动中,我有一个删除按钮,我再次执行getQeury以通过objectid找到parseObject,这样我就可以删除该行。但是,我注意到此删除失败,因为在第二个活动中,属于对象的objectID字符串变量不是与parseObject关联的真实objectID。相反,字符串变量返回当前时间的时间戳。

这是我到目前为止的代码:

//main activity where I get and set
 ParseQuery<ParseObject> query = ParseQuery.getQuery("myParseClass");
 query.findInBackground(new FindCallback<ParseObject>() {
                            @Override
                            public void done(List<ParseObject> list, ParseException findCall) {
                                if (findCall == null) {
                                    for (ParseObject p : list) {
                                        if(p.getObjectId() != null) mParseObjectId = p.getObjectId();
                                        mItems.add(new superCoolClass(mParseObjectId));
                                    }
                                }
                                else{
                                    findCall.printStackTrace();
                                }
                            }
                        });

//second activity where i have delete button to delete parseObject from row
mDeleteItemButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (isNetworkConnected()) {
                    ParseQuery<ParseObject> query = ParseQuery.getQuery("myParseClass");
                    query.getInBackground(superCoolClass.getParseObjectId, new GetCallback<ParseObject>() {
                        @Override
                        public void done(ParseObject parseObject, ParseException e) {
                            if (e == null) {
                                parseObject.deleteInBackground(new DeleteCallback() {
                                    @Override
                                    public void done(ParseException e) {
                                        if (e == null) Toast.makeText(getActivity(), "Item deleted from database", Toast.LENGTH_LONG).show();
                                        else e.printStackTrace();
                                    }
                                });
                            } else {
                                // something went wrong
                                e.printStackTrace();
                                Log.i("hereeeeeee1 === ", superCoolClass.getParseObjectId());
                            }
                        }
                    });
                } else {
                    //no interenet
                }

            }
        });

在第二行中,当我打印parseObjectId时,我没有获得与Parse相关联的Id,而是获得一个表示当前时间的时间戳(每次运行代码时它都会更改),从而导致Parse Exception为“no”找到的结果“

0 个答案:

没有答案