为了账号安全,请及时绑定邮箱和手机立即绑定

RecyclerView在活动开始时未调用onCreateViewHolder

RecyclerView在活动开始时未调用onCreateViewHolder

UYOU 2021-03-31 13:15:16
我一直在尝试实现一个简单的可滚动列表,该列表在名为MyOrganisedEventsActivity的活动中使用RecyclerView从Firebase数据库获取其数据。问题是,当我的主要活动启动MyOrganisedEventsActivity时,没有对onCreateViewHolder方法进行调用,因此RecyclerView为空。但是,稍等片刻然后锁定和解锁我的手机后,将调用onCreateViewHolder,并且列表项开始出现在RecyclerView上。刚开始活动时,是否有强制呼叫的方法?还是我的代码有问题,如何解决?
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

移动mAdapter.notifyDataSetChanged();内部onDataChange(DataSnapshot dataSnapshot)。您已经错过了异步调用的性质。


 FirebaseDatabase.getInstance().getReference().child("events_info").addListenerForSingleValueEvent(new ValueEventListener() {

        @Override

        public void onDataChange(DataSnapshot dataSnapshot) {

            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {

                // Build data here

            }

            mAdapter.notifyDataSetChanged();

        }

        @Override

        public void onCancelled(DatabaseError databaseError) {


        }

    });


查看完整回答
反对 回复 2021-04-21
?
慕慕森

TA贡献1856条经验 获得超17个赞

mAdapter.notifyDataSetChanged();你在添加数据后,Listfor looponDataChange()

因此,基本上在数据结构中添加数据,然后通知适配器使用新数据进行更新。


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 464 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信