[英]get the values of firebase firestore value
我想获取 firebase firestore 值的值,但我不断收到错误,有没有办法在不添加“”的情况下检索这些值?
DocumentReference documentReference = fStore.collection("Users").document(UserID);
documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot value, @Nullable FirebaseFirestoreException error) {
assert value != null;
mBankBalance.setText(""+ value.getDouble("Balance"));
}
});
每当我删除双引号时, mBankBalance.setText(""+value.getDouble("Balance"))
行都会出错。 有没有办法只获取值?
您已经获得了正确的值,但是您不能将Double
值设置为文本视图。
如果您将代码拆分为几行,您最容易看到这一点:
DocumentReference documentReference = fStore.collection("Users").document(UserID);
documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot value, @Nullable FirebaseFirestoreException error) {
assert value != null;
Double balance = value.getDouble("Balance"));
mBankBalance.setText(balance);
}
});
使用此代码,您将在mBankBalance.setText(balance);
上出错 , 而Double balance = value.getDouble("Balance"));
实际上工作正常。
原因是setText()
只需要一个字符串值,它不会将您的Double
转换为字符串。 这就是原始代码中的"" +
所做的,上面也一样:
mBankBalance.setText("" + balance);
如果你(理所当然地)不喜欢在你的代码中有这样的空字符串,你也可以使用这个更明确的转换:
mBankBalance.setText(String.valueOf(balance));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.