如何允许用户从Firebase删除自己的帖子?

时间:2019-07-27 14:50:03

标签: android firebase firebase-realtime-database

我正在尝试实现一项功能,该功能允许用户从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();
}

1 个答案:

答案 0 :(得分:0)

好吧,这取决于数据库的结构。假设每个帖子都有自己的ID,您可以使用它:

    FirebaseDatabase.getInstance().getReference().child("nameOfTheNode").child("postId").removeValue();