Android 移动到另一页时停止侦听

Android 移动到另一页时停止侦听,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,当监听停止时,我想离开页面 FirebaseDatabase firebaseDatabase; DatabaseReference myRef; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_showcomments); }

当监听停止时,我想离开页面

FirebaseDatabase firebaseDatabase;
DatabaseReference myRef;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_showcomments);


}




    private void callFireBase()
        {
            firebaseDatabase = FirebaseDatabase.getInstance();
            myRef = firebaseDatabase.getReference();
            myRef.child(id).addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {
                    Toast.makeText(showcomments.this, "" + dataSnapshot.child("comment").getValue().toString(), Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {

                }

                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    Toast.makeText(showcomments.this, "hey", Toast.LENGTH_SHORT).show();
                }
            });
        }


        @Override
        protected void onPause() {
            super.onPause();
            myRef.removeEventListener(firebaseDatabase);
        }

当我转到另一个页面时,我从应用程序中出来,我想停止监听,我在同一个站点上尝试了很多次并搜索了主题,但没有发现任何有用的内容

ChildEventListener
实现到您的
活动中
然后在退出
活动时将其删除

public class MyActivity extends Activity implements ChildEventListener {

    FirebaseDatabase firebaseDatabase;
    DatabaseReference myRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_showcomments);
    }

    private void callFireBase() {
        firebaseDatabase = FirebaseDatabase.getInstance();
        myRef = firebaseDatabase.getReference();
        myRef = myRef.child(id);
        myRef.addChildEventListener(this);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        myRef.removeEventListener(this);
    }

    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String s) {
        Toast.makeText(showcomments.this, "" + dataSnapshot.child("comment").getValue().toString(), Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {

    }

    @Override
    public void onChildMoved(DataSnapshot dataSnapshot, String s) {

    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Toast.makeText(showcomments.this, "hey",
                Toast.LENGTH_SHORT).show();
    }


}

请这样做,并相应地保存您的
数据库引用
,您要从中
删除Listener

这行代码看起来甚至不应该编译:
myRef.removeEventListener(firebaseDatabase)无法将FirebaseDatabase实例传递给该方法。这需要一个事件监听器。当我离开和再次回来时,他一直踢我