猿问

RecyclerView在活动开始时未调用onCreateViewHolder

我一直在尝试实现一个简单的可滚动列表,该列表在名为MyOrganisedEventsActivity的活动中使用RecyclerView从Firebase数据库获取其数据。问题是,当我的主要活动启动MyOrganisedEventsActivity时,没有对onCreateViewHolder方法进行调用,因此RecyclerView为空。

但是,稍等片刻然后锁定和解锁我的手机后,将调用onCreateViewHolder,并且列表项开始出现在RecyclerView上。刚开始活动时,是否有强制呼叫的方法?还是我的代码有问题,如何解决?


UYOU
浏览 474回答 2
2回答

qq_遁去的一_1

移动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) {        }    });

慕慕森

叫mAdapter.notifyDataSetChanged();你在添加数据后,List在for loop中onDataChange()因此,基本上在数据结构中添加数据,然后通知适配器使用新数据进行更新。
随时随地看视频慕课网APP

相关分类

Java
我要回答