Android 是否可以将DataSnapShot更改为模型?
我用的是这样的东西:Android 是否可以将DataSnapShot更改为模型?,android,google-cloud-firestore,android-adapter,datasnap,Android,Google Cloud Firestore,Android Adapter,Datasnap,我用的是这样的东西: int id = getSnapshots().getSnapshot(position).getId().hashCode(); Note note = getSnapshots().getSnapshot(getAdapterPosition())... 那很好用。不,我需要从DataSnapShot中获取模型。可能吗?我试过这样的方法: int id = getSnapshots().getSnapshot(position).getId().hashCo
int id = getSnapshots().getSnapshot(position).getId().hashCode();
Note note = getSnapshots().getSnapshot(getAdapterPosition())...
那很好用。不,我需要从DataSnapShot中获取模型。可能吗?我试过这样的方法:
int id = getSnapshots().getSnapshot(position).getId().hashCode();
Note note = getSnapshots().getSnapshot(getAdapterPosition())...
但我不知道如何完成这件事,甚至不知道这是否可能。也许我需要一种完全不同的方式?你可以转换它。下面是一个例子:
val yourModel = dataSnapshot.getValue(YourModelClass::class.java) as YourModelClass
就这样:)
java风格:
YourModelClass yourModel = (YourModelClass) getDataSnapshot().getValue(YourModelClass.class)
你可以转换它。下面是一个例子:
val yourModel = dataSnapshot.getValue(YourModelClass::class.java) as YourModelClass
就这样:)
java风格:
YourModelClass yourModel = (YourModelClass) getDataSnapshot().getValue(YourModelClass.class)
假设您的
onBindViewHolder()
方法有一个名为ViewHolder
的ViewHolder
对象作为参数,要解决此问题,请使用以下代码:
DocumentSnapshot snapshot = getSnapshots().getSnapshot(viewHolder.getAdapterPosition());
Note note = snapshot.toObject(Note.class);
Log.d("TAG", pm.getNodeId());
假设您的模型类中有一个名为
nodeId
的指定对象和相应的名为getNodeId()
的getter,日志猫中的输出将是注释的所有ID。假设您的onBindViewHolder()
方法有一个名为ViewHolder
的对象作为参数,要解决此问题,请使用以下代码:
DocumentSnapshot snapshot = getSnapshots().getSnapshot(viewHolder.getAdapterPosition());
Note note = snapshot.toObject(Note.class);
Log.d("TAG", pm.getNodeId());
假设您的模型类中有一个名为nodeId
的fied和相应的getter名为getNodeId()
,那么日志猫中的输出将是,您笔记的所有ID。感谢您的帮助。唯一的问题是我在onClick
中使用了这一行,因此我只使用getAdapterPosition()
而不是viewHolder.getAdapterPosition()
。但效果很好。再次感谢你的帮助。唯一的问题是我在onClick
中使用了这一行,因此我只使用getAdapterPosition()
而不是viewHolder.getAdapterPosition()
。但效果很好。再次感谢