[英]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.