2017-09-07 14 views
0

リスニングが停止しているときにページを離れたいと考えています。別のページに移動するときにリッスンを停止します。

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

私は別のページに行くとき、私は私は多くのことをしようとしたと同じサイト上のテーマの検索は何も有益な

+4

したいから、このように行うと、それに応じてDatabaseReferenceを保存してください: 'myRef.removeEventListener(firebaseDatabase);'することができますそのメソッドにFirebaseDatabaseのインスタンスを渡しません。イベントリスナーが必要です。 –

答えて

1

があなたのActivityChildEventListenerを実装していないが見つからない聴いて停止するアプリケーションから出てきますActivityから外出するときに取り外してください。

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(); 
    } 


} 

あなたはそれをコンパイルする必要がありますようにこのコード行も見ていないremoveListener

+0

私が出発してまた戻ったとき、彼は私を蹴り続けます – ShWaEkI

関連する問題