【发布时间】:2019-08-01 04:35:35
【问题描述】:
请帮我解决一些小问题,我相信你能做到:D
我正在尝试在 Firestore 文档“user_cases_information”上设置一个字段,其中包含一个字段“case_number”
- 首先我声明这个全局变量
private String case_number_consecutive = new String("");
- 在
.setOnClickListener我有这个:(从其他文档中读取旧的连续编号或案例编号)
if (service_type.equals("support")){
DocumentReference docRef = firestore_popup.collection("param_data_app").document("support_case_numbers");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
String consecutive = document.get("consecutive").toString();
if (consecutive.equals(null)) {
int random = new Random().nextInt(117) + 4;
case_number_consecutive = "IOC-09"+random;
} else {
case_number_consecutive = consecutive; UpdateCaseNumbersConsecutive("support");
}
} else {
int random = new Random().nextInt(117) + 4;
case_number_consecutive = "IOC-09"+random;
}
}
});
}
Map<String, Object> user_cases_information = new HashMap<>();
user_cases_information.put("case_number", case_number_consecutive);
... (then i use a firestore reference to put the new case number)
假设当我检查firestore时,正是我设置“user_cases_information”文档的文档,我应该看到数字或新的case_number,但我总是得到一个null参考,连续的字段总是=@ 987654325@
为什么我得到这个空值?我用了一个 Toast 并把它放在这之前:
Toast.makeText(...."Value: "+case_number_consecutive
Map<String, Object> user_cases_information = new HashMap<>();
user_cases_information.put("case_number", case_number_consecutive);
它显示null,因此上述函数中的值或数据正在丢失
我该如何解决这个问题???十分感谢。
【问题讨论】:
-
是否调用了onComplete?
标签: java android firebase google-cloud-firestore