в качестве заголовка, даже я использую Keepsync (true) перед запросом, но firebase всегда получаю неправильное значение (предыдущее значение)
это мой код:
ROOT_REF.child(CHILD_SETTINGS).child(Member.getUser_id())
.child(getMyUID()).keepSynced(true);
ROOT_REF.child(CHILD_SETTINGS)
.child(Member.getUser_id()).child(getMyUID())
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (!dataSnapshot.hasChild(NO_MAKING_GROUP_SETTING))
validList.add(Member);
else unvalidList.add(Member);
if (validList.size()+unvalidList.size()==mMemberToCheck.size()) {
mValidCallBack.OnCallBack(validList);
mUnValidCallBack.OnCallBack(unvalidList);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
это код значения обновления:
ROOT_REF.child(CHILD_SETTINGS)
.child(getMyUID()).child(user_to_prevent)
.child(NO_MAKING_GROUP_SETTING)
.setValue(true);
// remove when I want to allow user to notify me
ROOT_REF.child(CHILD_SETTINGS)
.child(getMyUID()).child(user_to_allow)
.child(NO_MAKING_GROUP_SETTING)
.removeValue();
это база данных
![enter image description here](https://i.stack.imgur.com/j1yr5.png)
Обновление: Я думаю, что этот пост может помочь: Оффлайн-возможности Firebase и addListenerForSingleValueEvent