为了账号安全,请及时绑定邮箱和手机立即绑定

安卓 火库 实时数据库 获取节点子级时出现错误

安卓 火库 实时数据库 获取节点子级时出现错误

慕少森 2022-09-28 09:53:42
我有一个非常奇怪的问题。此代码几天前仍在工作,但现在它正在使我的应用程序崩溃。我正在尝试循环访问节点子节点。private void getInfo(){    FirebaseDatabase.getInstance().getReference()            .child("ForumResponses").child(forumID).addListenerForSingleValueEvent(new ValueEventListener()    {        @Override        public void onDataChange(@NonNull DataSnapshot dataSnapshot)        {            for(DataSnapshot snap : dataSnapshot.getChildren())            {                ForumResponses forumResponses = snap.getValue(ForumResponses.class);            }        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError)        {        }    });}如果我删除下面的代码行,应用程序不会崩溃。这是为什么呢?ForumResponses forumResponses = snap.getValue(ForumResponses.class);下面是错误日志    com.google.firebase.database.DatabaseException: Failed to convert a value of type java.util.HashMap to int    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertInteger(com.google.firebase:firebase-database@@16.1.0:351)    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToPrimitive(com.google.firebase:firebase-database@@16.1.0:272)    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToClass(com.google.firebase:firebase-database@@16.1.0:197)    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToType(com.google.firebase:firebase-database@@16.1.0:178)    at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.access$100(com.google.firebase:firebase-database@@16.1.0:47)
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

您会收到以下错误:

数据库异常: 无法将 java.util.HashMap 类型的值转换为整数

因为类中的字段类型是 和 数据库中的字段,因为该字段实际上是一个对象。要解决此问题,请将数据库中的字段转换为 ,或将类中字段的类型更改为 .likedForumResponsesintintForumResponsesMap<String, Object>


查看完整回答
反对 回复 2022-09-28
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信