gpt4 book ai didi

android - 从子节点跳转到 Firebase 父节点

转载 作者:太空狗 更新时间:2023-10-29 14:34:57 24 4
gpt4 key购买 nike

大家好,我有一个这样的火力基地结构

Firebase Database

我在 fire-base 的一个节点内有一个数组列表,我需要遍历这个列表并跳转到每个 ID 以获取我需要的信息,如数据库照片所示。

到目前为止我已经尝试过

public static void checkIfCurrentUserLiked(final HomeFragment.PostsViewHolder postsViewHolder, String postKey) {

userID = Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid();
likesRef = FirebaseDatabase.getInstance().getReference().child("likes");
postsRef = FirebaseDatabase.getInstance().getReference().child(postKey);
postsRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.hasChild("likes")) {
for (DataSnapshot ds : dataSnapshot.child("likes").getChildren()) {
likesRef.child(Objects.requireNonNull(ds.getValue()).toString())
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
Like like = snapshot.getValue(Like.class);
if (like != null && like.getLikedUserID().equals(userID)) {
postsViewHolder.likesImage.setImageResource
(R.drawable.ic_item_home_post_like_filled);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) { }
});
}
}
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) { }
});
}

我没有错误,只是什么都没发生,数据没有按预期获取

最佳答案

改变这个:

postsRef = FirebaseDatabase.getInstance().getReference().child(postKey);

进入这个:

postsRef = FirebaseDatabase.getInstance().getReference().child("posts").child(postKey);

根据您的数据库,您在 postKey 之前有节点 posts,因此您需要在引用位置时添加它。

关于android - 从子节点跳转到 Firebase 父节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57877877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com