【发布时间】:2019-09-10 20:32:56
【问题描述】:
大家好,我有这样的火基结构
我在 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) { }
});
}
我没有错误,只是没有任何反应,没有按预期获取数据
【问题讨论】:
-
你遇到了什么错误?
-
其实没有错误,就是什么都不做
-
你能添加一个日志并告诉我正在检索哪些数据
-
您是否尝试记录
databaseError?它是在 logcat 中打印出来的吗?请回复@AlexMamo -
@MustafaBahaa 你试过答案了吗?
标签: android firebase firebase-realtime-database