firebaseUser.getUid()不起作用

时间:2018-01-18 05:14:34

标签: android firebase-authentication

我有一个回收站视图,其中每个帖子都有一个删除选项。仅当用户是该特定帖子的所有者或应禁用删除选项时,才应启用删除选项。我正在使用firebase身份验证来检查用户是否是所有者。我面临的问题是即使用户是帖子的所有者,她也无法使用删除选项,因为它被禁用。我不确定问题所在,但我认为它无法获取用户ID。以下是我的代码。

    databaseReference= FirebaseDatabase.getInstance().getReference().child(savedCollname).child(node);

final FirebaseRecyclerAdapter<MainBlogView, MainView.MainViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<MainBlogView, MainView.MainViewHolder>(
                        MainBlogView.class, R.layout.recyclerplace, MainView.MainViewHolder.class, databaseReference
                ) {
    mAuth=FirebaseAuth.getInstance();
    firebaseUser=mAuth.getCurrentUser();
    String userId=firebaseUser.getUid();
    PopupMenu popup = new PopupMenu(ctx1, viewHolder.buttonViewOption);
    MenuInflater inflater = popup.getMenuInflater();
    final Menu pop = popup.getMenu();
    databaseReference.child(post_key).addValueEventListener(new ValueEventListener() {
         @Override
          public void onDataChange(DataSnapshot dataSnapshot) {
          String user_id = (String) dataSnapshot.child("uid").getValue();
          if (firebaseUser.getUid().equals(user_id)) {
          pop.findItem(R.id.delete).setEnabled(true);
        } else  {
          pop.findItem(R.id.delete).setEnabled(false);
          }
        }

    @Override
    public void onCancelled(DatabaseError databaseError) {

     }
    });

以下是json树:

{
  "AlertPost" : {
    "-L2Zrn-UM1BD0CDh4yFN" : {
      "description" : "fhjhg",
      "image" : "https://firebasestorage.googleapis.com/v0/b/notefi-86d18.appspot.com/o/Alert_Image%2Fcropped1486185224.jpg?alt=media&token=61520d4a-5f3b-458d-bf1d-98c1f337a369",
      "timestamp" : 1515668320717,
      "uid" : "qrnu8UaYAsPJjFhHryiYjnbVgu93"
    }}

0 个答案:

没有答案