簡體   English   中英

無法將 java.lang.String 類型的 object 轉換為 android.net.Uri 類型,獲取 object 的值

[英]Can't convert object of type java.lang.String to type android.net.Uri getting value to object

我在 Firebase 數據庫上有一個user node ,它將 url 保存到每個用戶的個人資料圖片中。 問題是在 Firebase 上它是一個字符串,而在我的代碼上,該屬性是一個Uri

我知道使用Uri.parse()將字符串從 Firebase 轉換為 Uri 很容易,但我的問題是是否可以將map 這個string轉換為具有Uri屬性的 object

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
    if(dataSnapshot.exists()) {

        for(DataSnapshot data : dataSnapshot.getChildren()) {
            User user = data.getValue(User.class); // Can't convert String to Uri
            contactList.add(user);
        }
    }
}

如您所見,在這種情況下我不能只解析它。 任何解決方法? 在確定還有其他更好的解決方案之前,我不想更改我的User object

無需使用getValue(class)將 class 實例傳遞到實時數據庫以從快照中獲取數據。 如果您需要一些自定義映射來將數據獲取到 object,您可以像使用不帶參數的data.getValue()一樣簡單地訪問快照中的數據。 如果您查詢的孩子有其他孩子,它將返回一個Map<String, Object> map 的鍵是孩子的名字,值是數據。 然后,您可以根據需要將任何字符串轉換為 Uri。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM