java - 在应用程序上使用时,对每个 "getKey()"的 Firebase 上的所有数据进行重新分组

标签 java android firebase firebase-realtime-database

我有一个问题,但我不知道如何解决。

userRef.addValueEventListener(new ValueEventListener(){
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        for(DataSnapshot priereSnapshot : dataSnapshot.getChildren()){
            //takeFromDataBase
            LocationUser locationUser = priereSnapshot.getValue(LocationUser.class);
            double longitudeD = Double.valueOf(locationUser.locationUserLongitude);
            double latitudeD = Double.valueOf(locationUser.locationUserLatitude);
            //createMarkerFromDataBase
            LatLng Test = new LatLng(latitudeD, longitudeD);
            String idNum = userRef.getKey();
            MarkerOptions optionsTest = new MarkerOptions().position(Test).title("Janaza le: " + locationUser.locationUserDate);
            map.addMarker(optionsTest).setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW));
            //createLayoutFromInfoUser
            String adresseD = locationUser.locationUserAdresse;
            String dateD = locationUser.locationUserDate;
            String heureD = locationUser.locationUserTime;
            adresse_txt.setText(adresseD);
            date_txt.setText(dateD);
            heure_txt.setText(heureD);
        }
    }

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

当标记获取日期和小时时,这是可以的,但是当我想显示来自同一个 getkey() 的其他信息时,它不起作用。 例如,当我点击 (12/07/2020) 的标记 3 时,应用程序需要从同一个 getKey 将与此日期相关的正确信息放在 firebase 上,但它不起作用。 问题是我不知道如何链接来自同一个 getkey() 的所有数据

你能帮我吗?

最佳答案

我不确定我是否理解正确,但我认为您的问题可能在这里:

String idNum = userRef.getKey();

这会获取userRef的 key ,这是您收听的位置。

您更有可能想要获取当前循环迭代的特定用户快照的 key 。为此,您需要获取快照的 key :

String idNum = priereSnapshot.getKey();

关于java - 在应用程序上使用时,对每个 "getKey()"的 Firebase 上的所有数据进行重新分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62125181/

相关文章:

java - Selenium 可以处理自动完成吗?

java - 我应该在哪个 android SDK API 中开发应用程序,以便它适用于所有版本的 android?

android - 如何在 Telegram 上分享音频

firebase - 登录/注册后获取和存储用户数据

java - 每天在数据库中保留表的副本

java - 在java中使用正则表达式删除匹配的字符串

java - if 语句中的 While 循环

android - 在 assets/fonts 文件夹中导入 roboto 字体后,我的应用程序滚动非常糟糕

java - 带推送 utf8 字符串的 Firebase Java API

javascript - 使用 Angularfire 保存部分数据