【发布时间】:2019-11-20 13:37:58
【问题描述】:
我通过 Model 类将项目添加到列表中,然后将这些项目添加到 ArrayList<Object>。但是,即使commentsList.size() > 1,我的大小总是为零。
我尝试将List 转换为ArrayList 并尝试添加项目。但ArrayList<Object> 的大小始终为 0。
ArrayList<Comments> commentsList = new ArrayList<>(Arrays.asList(new Comments("username", "time", "date")));
这是我正在使用的函数。
private ArrayList<Object> getObject() {
if (getComments() != null && getComments().size()>=1) {
objects.add(getComments().get(0));
}
return objects;
}
public static ArrayList<Comments> getComments() {
ArrayList<Comments> commentsList = new ArrayList<>();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Comments");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
commentsList.clear();
for (DataSnapshot shot : snapshot1.getChildren()) {
Comments comments = shot.getValue(Comments.class);
commentsList.add(comments);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return commentsList;
}
【问题讨论】:
-
向 ArrayList 添加列表并没有什么特别之处。如果将列表添加到 ArrayList,它的大小会增加。如果情况似乎并非如此,那么您要么在检查之前清除它,要么不添加任何东西。请修正您的格式并显示minimal reproducible example。
标签: java android asynchronous arraylist firebase-realtime-database