Как остановить ValueEventListener, если Sqlite сохранил данные - PullRequest
0 голосов
/ 16 сентября 2018

Я добавил логический метод в свои коды (если), где (если Sqlite пусто) вызывает данные firebase и сохраняет их в SQLite, а затем прекращает вызов valueEventListener (если нет), получает запрос SQLite.class.это работает хорошо, но когда я заканчиваю упражнение и открываю его снова, процесс начинается снова.вот код после обновления

   @Override
   protected void onStart() {
    super.onStart();

    if (FB2sqLite == null) {

    ArrayList<HashMap<String, String>> myList = FB2sqLite.getProducts();
    if (myList.size() != 0) {
        ListAdapter adapter = new SimpleAdapter(FireBase_Prices.this, myList, R.layout.model,
                new String[]{item_Code, ItemDesc},
                new int[]{R.id.ItemCodeView, R.id.descTxt});
        listView.setAdapter(adapter);
    }

} else {

    mRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            pricesArrayList.clear();

            for (DataSnapshot PricesListDataSnapshot : dataSnapshot.getChildren()) {

                PricesList pricesList = PricesListDataSnapshot.getValue(PricesList.class);
                pricesArrayList.add(pricesList);
                FB2sqLite.insert(pricesList);
                FB2sqLite.close();
            }

            ArrayList<HashMap<String, String>> myList = FB2sqLite.getProducts();
            if (myList.size() != 0) {
                ListAdapter adapter = new SimpleAdapter(FireBase_Prices.this, myList, R.layout.model,
                        new String[]{item_Code, ItemDesc},
                        new int[]{R.id.ItemCodeView, R.id.descTxt});
                listView.setAdapter(adapter);
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}
}

как я могу использовать removeEventListener и где находится позиция этого метода?

...