我在我的 Android 应用程序中使用 Parse.com。我正在制作一个协作购物清单,允许用户将项目标记为删除(它们变成灰色),但只有当我按下同步按钮时它们才会被实际删除(并且有可用的网络)。目前,对象已从解析数据库中删除,但未从本地数据存储中删除。我正在尝试这个:
ParseQuery<ShoppingItem> queryDeletes = ShoppingItem.getQuery();
queryDeletes.fromPin(MyApplication.ALL_ITEMS);
queryDeletes.whereEqualTo("isDeleted", true);
queryDeletes.findInBackground(new FindCallback<ShoppingItem>() {
@Override
public void done(final List<ShoppingItem> items, ParseException e) {
if (e == null) {
ShoppingItem.deleteAllInBackground(items, new DeleteCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
ShoppingItem.unpinAllInBackground(items, new DeleteCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
if (!isFinishing()) {
shoppingListAdapter.loadObjects(); // update the list view
}
}
}
});
}
}
});
}
}
});
}
已经尝试清除应用程序数据并在 ShoppingItem 中覆盖 equals(),但没有成功。有任何想法吗?
谢谢!