done() 函数返回 null ParseObject
done() function returning null ParseObject
我想使用 ParseObject.But 删除数据库 table 中的一行 我无法这样做,因为显然 done() 函数正在返回一个空对象。
以下是我的删除代码:
"vex" 是 table 名称 和 "objectId" 是 table
的 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();
}
}
}
});
}});
query.whereEqualTo("objectId", objectId);
检查这一点我发现 objectId 是 null.Hence,这在函数 done() 中返回了一个 null ParseObject。
我得到的 objectId 为空,因为我使用此行检索了 objectId。
String objectId=object.getString("objectId");
虽然我应该使用:
String objectId=object.getObjectId();
我想使用 ParseObject.But 删除数据库 table 中的一行 我无法这样做,因为显然 done() 函数正在返回一个空对象。 以下是我的删除代码:
"vex" 是 table 名称 和 "objectId" 是 table
的 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();
}
}
}
});
}});
query.whereEqualTo("objectId", objectId);
检查这一点我发现 objectId 是 null.Hence,这在函数 done() 中返回了一个 null ParseObject。
我得到的 objectId 为空,因为我使用此行检索了 objectId。
String objectId=object.getString("objectId");
虽然我应该使用:
String objectId=object.getObjectId();