java - Android Firebase 数据库 limitToLast(1) 奇怪的行为

标签 java android firebase firebase-realtime-database

我有一个非常简单的代码:

//   get users poll date, and set in relevant text view
Query query = gameRef.child("users_loto").child("zaalkIb4W0V7MGbekLhqjP34IQi1").orderByChild("pollRank").limitToLast(1);
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                nDate = Long.parseLong(ds.child("pollRank").getValue().toString().substring(0, 14));
                user_result.setText(String.valueOf(nDate));
            }

        }

    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
    }
};
query.addListenerForSingleValueEvent(valueEventListener);

我按 pollRank 排序 - 它与 child 的名字相同。

它似乎返回相关节点的最后一个值: enter image description here

但相反,它总是返回之前的那个: enter image description here

非常奇怪的行为...... 有什么想法为什么会发生这种情况吗?

最佳答案

感谢@ShehanWisumperuma!

gameRef.keepSynced(true) 是我问题的正确答案!!!

感谢所有试图帮助我的人!

关于java - Android Firebase 数据库 limitToLast(1) 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62010119/

相关文章:

java - Spring MVC UTF-8 编码

java - 检测文件或文件夹是否已更新的 Hook 是什么?

java - 由于 ListView id 导致运行时错误

android - 如何自动将 Android 应用程序从 Jenkins 上传到 Google Play Alpha 测试?

javascript - 如何使用 Cordova 访问 Android 中的通话记录?

java - 如何将速度模板中的数据绑定(bind)到 Spring Controller ?

javascript - 在 Angular 中使用 Observable 数组时如何在模板中显示数据

android - 如何通过蓝牙连接从 Android 应用程序在 Raspberry Pi 上运行脚本

firebase - 云函数似乎绕过了验证规则,但它不应该

javascript - 网站和移动应用程序的登录 API 应该相同还是不同?