为什么我的 addValueEventListener 不能正常工作?

时间:2021-05-23 05:21:30

标签: java android firebase firebase-realtime-database

我目前正在尝试使用 android studio 和 java 为 Android 应用程序实现个人资料页面。我有一个将用户个人资料信息上传到 firebase 的活动,现在我试图让我的个人资料活动从 firebase 获取用户信息并将其显示在屏幕上。为了做到这一点,我创建了一个名为 contactInfo 的数据库引用,它引用了给定用户配置文件信息的位置。但是,当我尝试通过调试器运行此代码段时,没有到达 addValueEvent 处理程序中的任何代码,我不知道为什么。如果有人对此问题有任何想法或修复方法,我将不胜感激。

        contactInfo.child("email").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            contactEmail = snapshot.getValue(String.class);
            email.setText(contactEmail);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {
            Toast.makeText(Profile.this, "Failed to get email", Toast.LENGTH_SHORT).show();
        }
    });

    contactInfo.child("address").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            contactAddress = snapshot.getValue(String.class);
            Toast.makeText(Profile.this, "Got Addy", Toast.LENGTH_SHORT).show();
            address.setText(contactAddress);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {
            Toast.makeText(Profile.this, "Failed to get addy", Toast.LENGTH_SHORT).show();
        }
    });

    contactInfo.child("phoneNumber").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            contactPhone = snapshot.getValue(String.class);
            phoneNumber.setText(contactPhone);
        }

0 个答案:

没有答案