【发布时间】:2016-06-19 22:32:10
【问题描述】:
我一直无法找到一个明确的答案来帮助我删除一个已添加为 POJO 的节点,然后给出由 push() 生成的密钥。我要做的就是在列表视图上长按时删除给定的项目。我试过 removeValue() 但所做的只是删除整个父节点,这不是我想要的。我不知道如何获取生成的密钥。
您能否提供一个获取参考的示例,例如 /node/,以便我可以在列表视图中使用 .removeValue()。我的问题是我试图在列表中获取正确的推送键,以便我可以在 /nodes 下引用该键,然后删除该单个项目而不是整个节点引用,这就是 mDatabase.child(" nodes").removeValue() 目前可以。当我想要类似 mDatabase.child("nodes").child(pushedKey).removeValue().
当我向节点发送数据时,它看起来像这样。
mDatabase.child("nodes").push().setValue(POJO);
我正在用这个来删除它...
main_ListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
//Delete node
listAdapter.mNodes.remove(position);
mDatabase.child("nodes").push().getRef().removeValue();
listAdapter.setNotifyOnChange(true);
Toast.makeText(getApplicationContext(),"Removed Item at: " + position,Toast.LENGTH_SHORT).show();
main_ListView.setAdapter(listAdapter);
return true;
}
});
示例
任何帮助将不胜感激。 :)
【问题讨论】:
-
你试过了吗? firebase.child("nodes").removeValue();
-
不再准确。 Firebase.google.com/docs 是最新的。
-
如果你注意到我正在做的事情。 Mdatabase 是对那个完全相同的位置的引用。
标签: android listview firebase-realtime-database