如何将存储在模型类中的 Firebase 数据库值添加到 ArrayList 中

How to add Firebase Database Value stored in a model class to an ArrayList

提问人:Newbie_programmer 提问时间:11/15/2023 更新时间:11/15/2023 访问量:15

问:

我试图将Firebase数据库值添加到ArrayList中以供以后使用。我为此创建了一个模型类。然后我尝试将这个模型类添加到 ArrayList 中。但是由于某种原因,ArrayList 大小为 0,这意味着没有数据进入 ArrayList。为什么?我对其他活动也这样做了,它奏效了,但它在这里不起作用。我在这里添加了代码片段-

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityViewProfileBinding.inflate(getLayoutInflater());
    setContentView(binding.getRoot());

    ArrayList<Users> user_list = new ArrayList<>(); //Users is the model class

    FirebaseDatabase.getInstance().getReference().child("users").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            user_list.clear();
            for(DataSnapshot ss: snapshot.getChildren()){
                Users us = ss.getValue(Users.class);
                user_list.add(us); //adding the model class to the ArrayList
            }

        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {
            Toast.makeText(ViewProfileActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });

    Toast.makeText(this, String.valueOf(user_list.size()), Toast.LENGTH_SHORT).show();
}

这里可能有什么问题?toast 显示“0”,表示 ArrayList 中没有任何数据。我在这里错过了什么?

java android 数组列表

评论


答: 暂无答案