Hiy ребята,Recyclerview не обновляется с новыми данными
У меня есть фрагмент с RecyclerView
в нем. То RecyclerView
заполняется объект А «Firebase 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
, так что время от времени повторитель пуст. То, что я не могу понять, это тот факт, что просмотр ресайклеров не всегда пуст. Иногда данные отображаются, а иногда нет.
Thanks
Вы вызвали адаптер.notifyDatasetChaged() на свой код при добавлении каких-либо данных на просмотр recycler. –
Привет @ujjwalmainali с вызовом 'adapter.notifyDataSetChanged()' или без него не имеет значения. Дело в том, что просмотр ресайклеров не всегда пуст. Поэтому я сам не понимаю эту проблему. – DeKekem