我想在任务成功完成后获取数据并将其存储在变量中。我试过的代码是:
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 setText。text如何解决这个问题?