将 Firebase 与 RecyclearView 一起使用时出现错误

Posted

技术标签:

【中文标题】将 Firebase 与 RecyclearView 一起使用时出现错误【英文标题】:I have an error when using Firebase with RecyclearView 【发布时间】:2018-06-16 17:54:00 【问题描述】:

我在运行我的应用程序时遇到这些错误:

致命异常:主进程:com.google.example.adinaranayaragh,PID:26564 com.google.firebase.database.DatabaseException:com.google.example.adinaranayaragh.MyItem$Sellm 类未定义无参数构造函数。如果您使用 ProGuard,请确保未剥离这些构造函数。 在 com.google.android.gms.internal.zzelx.zze(未知来源) 在 com.google.android.gms.internal.zzelw.zzb(未知来源) 在 com.google.android.gms.internal.zzelw.zza(未知来源) 在 com.google.android.gms.internal.zzelw.zzb(未知来源) 在 com.google.android.gms.internal.zzelx.zze(未知来源) 在 com.google.android.gms.internal.zzelw.zzb(未知来源) 在 com.google.android.gms.internal.zzelw.zza(未知来源) 在 com.google.firebase.database.DataSnapshot.getValue(未知来源) 在 com.google.example.adinaranayaragh.FirebaseRecyclerAdapter.getConvertedObject(FirebaseRecyclerAdapter.java:301) 在 com.google.example.adinaranayaragh.FirebaseRecyclerAdapter$1.onChildAdded(FirebaseRecyclerAdapter.java:80) 在 com.google.android.gms.internal.zzecw.zza(未知来源) 在 com.google.android.gms.internal.zzeia.zzbyc(未知来源) 在 com.google.android.gms.internal.zzeig.run(未知来源) 在 android.os.Handler.handleCallback(Handler.java:815) 在 android.os.Handler.dispatchMessage(Handler.java:104) 在 android.os.Looper.loop(Looper.java:207) 在 android.app.ActivityThread.main(ActivityThread.java:5728) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679)

我的项目可用on Github。

这是 firebase 数据库结构:


    "items": 
        "it1": 
            "buy": 
                "buyBellow": 19023,
                "date": "7.jan2016",
                "stoploss": 12455,
                "target1": 12548,
                "target2": 12444
            ,
            "sell": 
                "date": "7jan",
                "sellAbove": 22000,
                "stoploss": 14522,
                "target1": 21222,
                "target2": 22245
            ,
            "title": "Gold"
        ,
        "it2": 
            "buy": 
                "buyBellow": 19023,
                "date": "7.jan2016",
                "stoploss": 12455,
                "target1": 12548,
                "target2": 12444
            ,
            "sell": 
                "date": "7jan",
                "sellAbove": 22000,
                "stoploss": 14522,
                "target1": 21222,
                "target2": 22245
            ,
            "title": "GoldM"
        ,
        "it3": 
            "buy": 
                "buyBellow": 19023,
                "date": "7.jan2016",
                "stoploss": 12455,
                "target1": 12548,
                "target2": 12444
            ,
            "sell": 
                "date": "7jan",
                "sellAbove": 22000,
                "stoploss": 14522,
                "target1": 21222,
                "target2": 22245
            ,
            "title": "Silver"
        ,
        "it4": 
            "buy": 
                "buyBellow": 19023,
                "date": "7.jan2016",
                "stoploss": 12455,
                "target1": 12548,
                "target2": 12444
            ,
            "sell": 
                "date": "7jan",
                "sellAbove": 22000,
                "stoploss": 14522,
                "target1": 21222,
                "target2": 22245
            ,
            "title": "SilverM"
        
    ,
    "news": ""

我想要完成的是让这些对象(项目)出现在我的应用程序中的RecyclerView,但是当我尝试运行它时出现上述错误。

【问题讨论】:

【参考方案1】:

您应该将 Sellm 设为静态或在单独的文件中声明它。

public class MyItem 
    ....

    public static class Sellm 
        ....
    

【讨论】:

以上是关于将 Firebase 与 RecyclearView 一起使用时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

将 Firebase 与颤振集成 - 不工作

将 Chargify 与 Firebase 连接

将项目与 Firebase 同步时出错

Firebase:Vue.js:无法将存储与数据库连接

如何将 Google Play 游戏登录与 Firebase 身份验证结合使用

如何将 Flutter Web 与 Firebase 集成? [关闭]