Hiy guys,Recyclerview没有更新新的数据
我有一个片段RecyclerView
在里面。也就是说RecyclerView
由火力地堡“DatabaseReference”对象和填充在该参考我添加了一个ValueListener如下:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
Log.d(TAG, "onCreateView");
View view = inflater.inflate(R.layout.fragment_home, container, false);
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Do something
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.w(TAG, "onCancelled", databaseError.toException());
}
});
ItemRecyclerViewAdapter adapter = new ItemRecyclerViewAdapter(activity, itemsDatabaseReference);
adapter.setHasStableIds(true);
// use a linear layout manager
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
DividerItemDecoration itemDecoration = new DividerItemDecoration(getContext(),
DividerItemDecoration.VERTICAL_LIST);
recyclerView.addItemDecoration(itemDecoration);
recyclerView.setAdapter(adapter);
return view;
}
ItemRecyclerViewAdapter
延伸FirebaseRecyclerAdapter
。问题是onDataChange
发生在onResume
之后,因此有时回收站是空的。我不明白的是,回收商的观点并非总是空洞的事实。有时会显示数据,有时不显示。
谢谢
你在添加任何数据回收视图 –
嗨@ujjwalmainali,有或没有调用您的代码调用adapter.notifyDatasetChaged()'adapter.notifyDataSetChanged()'无所谓。重点在于回收者视图并非总是空的。所以我自己并不真正了解这个问题。 – DeKekem