首页 > 解决方案 > 如何从 Cloud Firestore 的 OnCompleteListener 获取数据?

问题描述

我想在任务成功完成后获取数据并将其存储在变量中。我试过的代码是:

String user_name;
private void getUserData(){
        FirebaseFirestore db;

        db = FirebaseFirestore.getInstance();
        DocumentReference docref = db.collection("users").document(Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid());
        docref.get()
                .addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                        if(task.isSuccessful()){
                            DocumentSnapshot documentSnapshot = task.getResult();
                            assert documentSnapshot != null;
                            user_name = documentSnapshot.getString("name");
                        }
                    }
                });


    }

binding.upload.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                binding.text.setText(user_name);
            }
        });

对于TextView 返回 null setTexttext如何解决这个问题?

标签: androidfirebasegoogle-cloud-firestore

解决方案


推荐阅读