gpt4 book ai didi

安卓工作室/火力地堡 : Trying to retrieve all data but only getting the last item

转载 作者:行者123 更新时间:2023-11-29 23:41:29 24 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,在 map 上显示用户添加的工作。为此,我正在尝试创建一个存储所有作业的实时 Firebase 数据库:

Image of Firebase Database Json Tree

在 onCreate 方法中,markers(jobs) 将从 Firebase 数据库中的所有当前作业列表中添加。

到目前为止,这是我的代码:

        DatabaseReference ref1 = database.getReference();
DatabaseReference jobsReference = ref1.child("Jobs");

jobsReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
jobs = new ArrayList<>();
// AddJobHandler is the object I use to store the jobs
for(DataSnapshot jobSnapShot : dataSnapshot.getChildren()) {
AddJobHandler newJob = jobSnapShot.getValue(AddJobHandler.class);
jobs.add(newJob);
}

for(int i = 0; i < jobs.size(); i++) {
Toast.makeText(map.this, jobs.get(i).getDesc(), Toast.LENGTH_SHORT).show();
}
}

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

}
});

当我运行该应用程序时,我得到了 3 个 toast ,但添加了最近工作的标题。如何将所有作业添加到数据库中的作业 ArrayList?

TL; DR:作业 ArrayList 似乎只添加最近的作业。我怎样才能让 ArrayList 添加 Firebase 实时数据库中的所有作业

最佳答案

您的代码似乎只需要更改一处,请检查一下,

jobs = new ArrayList<>(); //write this in onCreate(); or while declaration in global scope. 

你的代码在下面

            DatabaseReference ref1 = database.getReference();
DatabaseReference jobsReference = ref1.child("Jobs");

jobsReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

// AddJobHandler is the object I use to store the jobs
for(DataSnapshot jobSnapShot : dataSnapshot.getChildren()) {
AddJobHandler newJob = jobSnapShot.getValue(AddJobHandler.class);
jobs.add(newJob);
}

for(int i = 0; i < jobs.size(); i++) {
Toast.makeText(map.this, jobs.get(i).getDesc(), Toast.LENGTH_SHORT).show();
}
}

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

}
});

关于安卓工作室/火力地堡 : Trying to retrieve all data but only getting the last item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51805596/

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