我正在尝试实现一项功能,该功能允许用户从Firebase删除自己的帖子,但是我不确定如何执行此操作。我设法允许用户从Recycleview中删除他们的帖子,但这并不能真正解决问题。一些帮助将不胜感激。这就是数据库的结构方式,我通过在字典上调用push方法来保存用户的帖子,因此每次用户发布帖子时都会生成一个随机密钥。
Post
-LkKPt_cQta_ZRWHJ6Cw
desc:
id:
image:
name:
profileimage:
//Creates popup and allows user to delete from RecycleView
public void openOptionMenu(View v,final int position){
PopupMenu popup = new PopupMenu(v.getContext(), v);
popup.getMenuInflater().inflate(R.menu.options_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu1:
Toast.makeText(getApplicationContext(), "Edit clicked", Toast.LENGTH_SHORT).show();
return true;
case R.id.menu2:
String logedInUser = currentUser.getUid();
postList.remove(position);
adapter.notifyDataSetChanged();
return true;
default:
//default intent
return true;
}
}
});
popup.show();
}
答案 0 :(得分:0)
好吧,这取决于数据库的结构。假设每个帖子都有自己的ID,您可以使用它:
FirebaseDatabase.getInstance().getReference().child("nameOfTheNode").child("postId").removeValue();