将 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 一起使用时出现错误的主要内容,如果未能解决你的问题,请参考以下文章