【问题标题】:How to stop retrieve data from Firebase?如何停止从 Firebase 检索数据?
【发布时间】:2018-01-03 20:41:58
【问题描述】:

加载后停止从 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);
    }
}

【问题讨论】:

标签: java android firebase gridview firebase-realtime-database


【解决方案1】:

如果您想一次性读取整个数据,请使用 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);

【讨论】:

  • 收到数据后想停止接收不删除?
  • 删除监听器不会删除..只会停止接收数据。
【解决方案2】:

使用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);
        }

看看这个答案https://stackoverflow.com/a/41579337/5868103

【讨论】:

  • 对不起,我没听懂。你是什​​么意思数据没有更新? @mohamed
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-14
  • 2016-11-27
  • 1970-01-01
相关资源
最近更新 更多