Java 从snapshot.getKey()获取不同的字符串;和mAuth.getUid();没有。推();

Java 从snapshot.getKey()获取不同的字符串;和mAuth.getUid();没有。推();,java,android,android-studio,firebase-realtime-database,Java,Android,Android Studio,Firebase Realtime Database,从snapshot.getKey()获取的字符串;与任何其他字符串不同,尽管如果我实际比较mAuth.getUid()的值,我不会执行push();字符串和snapshot.getKey();它们都是相同的,但在编程上没有显示。 我尝试浓缩我的快照。getKey();textView.setText(snapshot.getKey();)中的字符串;但屏幕上也没有显示任何内容 请注意,我没有发布我的全部片段代码 在下面的代码中,if语句未获得真值 FirebaseUser mAuth = Fir

从snapshot.getKey()获取的字符串;与任何其他字符串不同,尽管如果我实际比较mAuth.getUid()的值,我不会执行push();字符串和snapshot.getKey();它们都是相同的,但在编程上没有显示。 我尝试浓缩我的快照。getKey();textView.setText(snapshot.getKey();)中的字符串;但屏幕上也没有显示任何内容

请注意,我没有发布我的全部片段代码

在下面的代码中,if语句未获得真值

FirebaseUser mAuth = FirebaseAuth.getInstance().getCurrentUser();

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference databaseReference = database.getReference();
DatabaseReference userref = databaseReference.child("Votes").child("Chat");    

final HashMap<String, String> hash = new HashMap<>();

    likeButton = (ImageView) view.findViewById(R.id.heartImage);

    likeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            hash.put("chatVoteLike", "Yes, I would like it");
            userref.child(mAuth.getUid()).setValue(hash);
            likeButton.setImageResource(R.drawable.red_heart);
        }
    });


    userref.orderByKey().addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot snapshot : dataSnapshot.getChildren()){

               String uID = snapshot.getKey();
                Log.i("uId from", "firebase ---" + uID);

              if (uID == mAuth.getUid()){
                  likeButton.setImageResource(R.drawable.red_heart);
              }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
FirebaseUser mAuth=FirebaseAuth.getInstance().getCurrentUser();
FirebaseDatabase=FirebaseDatabase.getInstance();
DatabaseReference DatabaseReference=database.getReference();
DatabaseReference userref=DatabaseReference.child(“投票”).child(“聊天”);
final HashMap hash=new HashMap();
likeButton=(ImageView)view.findViewById(R.id.heartImage);
likeButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
hash.put(“chatVoteLike”,“是的,我想要它”);
userref.child(mAuth.getUid()).setValue(hash);
喜欢按钮。设置图像资源(R.drawable.red_heart);
}
});
userref.orderByKey().addValueEventListener(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
字符串uID=snapshot.getKey();
Log.i(“uId from”,“firebase----”+uId);
如果(uID==mAuth.getUid()){
喜欢按钮。设置图像资源(R.drawable.red_heart);
}
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});

这个问题是用
uID.equals(mAuth.getUid())
而不是
uID==mAuth.getUid()
来解决的。请添加您的数据库结构。添加了屏幕快照,所以您基本上说
mAuth.getUid()
snapshot.getKey()
返回不同的结果,对吗,实际上,结果是相同的,但在编程上是不同的,尽管两者都是字符串。请尝试使用
uID.equals(mAuth.getUid())
而不是
uID==mAuth.getUid()