致电:
HashMap<String, Object> updates = new HashMap<String, Object>();
updates.put(myKey, null);
mDatabase.updateChildren(updates);
updates.clear();
不从myKey位置执行期望值删除。通过克隆
updates
HashMap可以很容易地解决此问题,方法是:mDatabase.updateChildren(new HashMap<String, Object>(updates));
这是错误还是预期的行为?有文件吗?
最佳答案
更新将异步发送到Firebase数据库。在更新完成之前,您不应该修改传递给Firebase的地图。
使用updateChildren()
method that takes a completion listener很容易做到):
mDatabase.updateChildren(updates, new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError error, DatabaseReference ref) {
if (error == null) {
updates.clear();
}
}
});