[英]How to stop retrieve data from Firebase?
加載后,停止從Firebase檢索數據。
這是我的代碼:
databaseReference.child("SHARE").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
information spacecraft = ds.getValue(information.class);
spacecrafts.add(spacecraft);
}
adapter adapterView= new adapter(MainActivity.this, spacecrafts);
gridView.setAdapter(adapterView);
}
}
使用addListenerForSingleValueEvent()
databaseReference.child("SHARE").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
information spacecraft = ds.getValue(information.class);
spacecrafts.add(spacecraft);
}
adapter adapterView= new adapter(MainActivity.this, spacecrafts);
gridView.setAdapter(adapterView);
}
如果要一次讀取整個數據,請使用addListenerForSingleValueEvent而不是addValueEventListener。
或者,如果您想從onDataChange獲取更新,則可以刪除列表器,
ValueEventListener eventListener = databaseReference.child("SHARE").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
information spacecraft = ds.getValue(information.class);
spacecrafts.add(spacecraft);
}
adapter adapterView= new adapter(MainActivity.this, spacecrafts);
gridView.setAdapter(adapterView);
}
要刪除監聽器,
databaseReference.child("SHARE").removeEventListener(eventListener);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.