Я хочу обновить адаптер корзины, откуда поступают данные из Firebase? - PullRequest
1 голос
/ 10 апреля 2019

У меня есть ArrayList. Я успешно устанавливаю данные для адаптера. Я хочу добавить свайп, чтобы обновить адаптер и проверить все новые данные, доступные в firebase, для обновления утилизатора.

    firebaseDatabase=FirebaseDatabase.getInstance();
    getFirebaseData();

}

public void getFirebaseData()
{
    databaseReference=firebaseDatabase.getReference("recyclerview");
    databaseReference.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) 
        {
            itemsModel=new ItemsModel();
            itemsModel=dataSnapshot.getValue(ItemsModel.class);
            itemsModelList.add(itemsModel);
            recyclerView.setAdapter(myAdapter);
        }

1 Ответ

0 голосов
/ 10 апреля 2019

Вы должны вызывать только один раз: recyclerView.setAdapter (myAdapter) для метода OnCreate.

Затем, когда будет добавлен дочерний элемент, когда вы слушаете вашу ссылку в БД, будет вызван метод onChildadded, и вы будете использовать этот код внутри него:

itemsModel=new ItemsModel();
        itemsModel=dataSnapshot.getValue(ItemsModel.class);
        itemsModelList.add(itemsModel);
        myAdapter.notifydatasetchanged();

Затем, каждый раз, когда добавляется ребенок, он будет отображаться на вашем экране.

...