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实例传递给该方法。这需要一个事件监听器。当我离开和再次回来时,他一直踢我