Java 检索解析对象id而不是实际id时获取当前时间戳
我在android的一个主要活动中有一个getQuery,我从一个解析类中检索所有行。在该查询中,我执行parseObject.getObjectId()并将其分配给属于对象的字符串变量 在一个单独的活动中,我有一个delete按钮,我再次执行getQeury,通过objectid查找parseObject,以便删除该行。但是,我注意到删除失败,因为在第二个活动中,属于对象的objectID字符串变量不是与parseObject关联的真实objectID。相反,字符串变量返回当前时间的时间戳 以下是我目前掌握的代码:Java 检索解析对象id而不是实际id时获取当前时间戳,java,android,database,parse-platform,Java,Android,Database,Parse Platform,我在android的一个主要活动中有一个getQuery,我从一个解析类中检索所有行。在该查询中,我执行parseObject.getObjectId()并将其分配给属于对象的字符串变量 在一个单独的活动中,我有一个delete按钮,我再次执行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();
}
}
});
//获取和设置的主要活动
ParseQuery=ParseQuery.getQuery(“myParseClass”);
findInBackground(新的FindCallback(){
@凌驾
public void done(列表,ParseException findCall){
if(findCall==null){
for(解析对象p:list){
如果(p.getObjectId()!=null)mParseObjectId=p.getObjectId();
添加(新的超级类(mParseObjectId));
}
}
否则{
findCall.printStackTrace();
}
}
});
以及:
//第二个活动,我有删除按钮从行中删除parseObject
mDeleteItemButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
如果(isNetworkConnected()){
ParseQuery=ParseQuery.getQuery(“myParseClass”);
getInBackground(supercolClass.getParseObjectId,新的GetCallback(){
@凌驾
公共void完成(ParseObject ParseObject,parsee异常){
如果(e==null){
deleteInBackground(新的DeleteCallback(){
@凌驾
公共作废完成(Parsee异常){
如果(e==null)Toast.makeText(getActivity(),“从数据库中删除的项”,Toast.LENGTH_LONG.show();
否则,例如printStackTrace();
}
});
}否则{
//出了点问题
e、 printStackTrace();
Log.i(“Heree1==”,supercolClass.getParseObjectId());
}
}
});
}否则{
//无互联
}
}
});
在第二行中,当我打印parseObjectId时,我没有得到与Parse相关联的Id,而是得到了一个表示当前时间的时间戳(每次运行代码时它都会更改),从而导致“找不到查询结果”的解析异常在您的第二个类中,您在哪里创建了SupercolClass对象并添加了SupercolClassi解决了这个问题,我在另一个文件中的另一个构造函数调用中缺少了一个参数。
//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
}
}
});