android - 如何从 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 setText
。text
如何解决这个问题?
解决方案
推荐阅读
- mongodb - 如何使用 golang mongo-driver 仅返回来自 mongodb 的部分结果
- javascript - 提取位于两对特殊字符之间的文本
- reactjs - 打字稿说我用 styled-components 包装的组件上不存在道具
- c# - 如何以正确的方式投射通用类型?
- python - 有选择地在 numpy 数组中设置值(或根据条件设置)
- java - 如何使用模拟简化我的单元测试
- java - Spring批处理:来自PreparedStatementSetter的JobExecution
- html - Ionic V4:如何声明要在整个页面中调用的通用 HTML 代码?
- r - 基于 POSIXct 值组合两个数据集
- android - 导航抽屉项目点击