首页 > 解决方案 > 如何将字符串值与 uID Firebase 进行比较

问题描述

这个问题对我来说似乎真的很困惑。我尝试将字符串列表中 0 索引处的值与 uID.toString() 进行比较,并以某种方式返回这些字符串彼此不同。我可能不知道它是如何工作的,实际上还没有找到解决方案。

数据库图片

它在控制台中的样子

那是我的代码:

participateButton = findViewById(R.id.button2);
    participateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FirebaseDatabase.getInstance().getReference("Sports").child("Running").child(getIntent().getStringExtra("id")).child("teammateID").addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    ArrayList<String> list = (ArrayList<String>)snapshot.getValue();
                    Log.d("TAG", list.get(0));
                    Log.d("TAG", FirebaseAuth.getInstance().getUid().toString());
                    Log.d("TAG", Boolean.toString(list.get(0)!=FirebaseAuth.getInstance().getUid().toString()));
                    if(list.get(0) != FirebaseAuth.getInstance().getUid().toString() && list.size() < 2){
                        list.add(FirebaseAuth.getInstance().getUid());
                        FirebaseDatabase.getInstance().getReference("Sports").child("Running").child(getIntent().getStringExtra("id")).child("teammateID").setValue(list);
                    }
                    else{
                        Toast.makeText(v.getContext(), "You are already signed!", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });
        }
    });

标签: javaandroidfirebasefirebase-realtime-database

解决方案


推荐阅读