我无法解决问题,无法找到解决方案。 我用这种方式固定数据:
myGroup = queryGroup.getFirst();
if (myGroup != null) {
ParseObject.unpinAllInBackground("Groups", new DeleteCallback() {
@Override
public void done(ParseException arg0) {
myGroup.pinInBackground("Groups", new SaveCallback() {
@Override
public void done(ParseException arg0) {
if (arg0 != null) {
Toast.makeText(getApplicationContext(), "ERROR", Toast.LENGTH_SHORT).show();
arg0.printStackTrace();
}
}
});
}
});
}
并尝试解锁它:
ParseObject.unpinAllInBackground("Groups", new DeleteCallback() {
@Override
public void done(ParseException arg0) {
if (arg0 == null) {
dataDeleted();
} else {
arg0.printStackTrace();
}
}
});
但它没有抛出异常,当我开始查询时,数据仍然保存在本地。
答案 0 :(得分:1)
尝试删除您的本地数据,然后重试。我有一些与钉扎相关的奇怪问题,原来我的对象没有数据固定,这搞砸了钉扎。
使用以下代码,pinallinbackground有效,您是否可以尝试而不是遍历每个对象?:
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(final List<ParseObject> moves, final com.parse.ParseException e) {
if (e == null) {
if (debug) {
Log.i("bjjMoves returned:", String.valueOf(moves.size()));
}
ParseObject.unpinAllInBackground("bjjMoves", new DeleteCallback() {
public void done(ParseException e) {
// Cache the new results.
ParseObject.pinAllInBackground("BJJMove", moves);
}
});
你会注意到我使用的是PinAllInBackground,而不是pininbackground。