【发布时间】:2017-10-27 08:56:28
【问题描述】:
我有一个RecyclerView,它显示来自 Firebase 的数据。我用过setPersistenceEnabled(true);。在线和离线模式下一切正常。但问题是,当我在离线模式下打开我的应用程序并将其连接到互联网时,RecyclerView 首先显示存储的数据和所有在线数据,但是当我重新启动活动时,这个问题就消失了。
这是我在onCreate() 方法中的代码
list=new ArrayList<>();
databaseReference= FirebaseDatabase.getInstance().getReference("Pdata").child("cdata");
recyclerView= (RecyclerView)rootview.findViewById(R.id.festirecycler);
recyclerView.setHasFixedSize(true);
recyclerAdapter=new DisplayRecyclerAdapter(list,getContext());
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
recyclerView.setAdapter(recyclerAdapter );
loadRecyclerData();
// Inflate the layout for this fragment
return rootview;
}
private void loadRecyclerData() {
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot:dataSnapshot.getChildren()) {
String da=postSnapshot.getValue().toString();
list.add(da);
}
Collections.reverse(list);
recyclerAdapter.notifyDataSetChanged();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
}
有什么建议吗?? 谢谢:)
【问题讨论】: