onBindViewHolder给我一个空的ArrayList,因为数据尚未完成从Firebase的加载

时间:2019-02-24 20:10:56

标签: android firebase firebase-realtime-database

对于RecyclerView,我的onBindViewHolder使用ArrayList中的setText,我从Firebase中加载数据。 但是,对于第一个onBindViewHolder调用,它给我一个空ArrayList,因为数据尚未完成加载。 (第二,第三...等会及时获取值) ArrayList检索完所有数据后,如何调用onBindViewHolder?

2 个答案:

答案 0 :(得分:0)

在设置适配器之前尝试加载数据。在适配器中,将数据通过构造函数传递。

答案 1 :(得分:0)

在加载List中的所有数据后尝试设置setAdapter。 并在getItemCount中执行此操作

 @Override
    public int getItemCount() {
        if (list == null)
            return 0;
        return list.size();
    }

这是因为您的列表为null,它将返回0表示onBindViewHolder将不会被调用,并且它不为null,那么它将在您的onBindViewHolder被调用时返回列表的大小。