2017-05-04 2 views
0

データベースでクエリを送信して、関連するノード番号がユーザによって入力された文字列 'token'と一致する場合、その番号を表示しようとしています。しかし、私は 'メソッドはそのスーパークラスからメソッドをオーバーライドしない'と 'メソッドonCancelledはメソッドで使用されていません'というのは、onCancelled関数のためだけです。どこが間違っていますか?onCancelledメソッドはFirebaseで使用されません

 buttonSave.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      //Creating firebase object 
      Firebase ref = new Firebase(Config.FIREBASE_URL); 

      //Getting values to store 
      String token = editToken.getText().toString().trim(); 

      Query query = ref.orderByChild("token").equalTo(token, "token"); 
      query.addChildEventListener(new ChildEventListener() { 



       @Override 
       public void onChildAdded(DataSnapshot snapshot, String previousChildKey) { 
        Person user = snapshot.getValue(Person.class); 

        String demo=user.getNodes(); 

        System.out.println("Nodes: " + demo); 
       } 

       @Override 
       public void onChildRemoved(DataSnapshot dataSnapshot) { 
        Person friend = dataSnapshot.getValue(Person.class); 
        Toast.makeText(enter_page.this 
          , "Friend removed: " + dataSnapshot.getKey() 
            + " token: " + friend.getToken() 
            + " name: " + friend.getNodes() 
          , Toast.LENGTH_SHORT).show(); 
       } 

       @Override 
       public void onChildChanged(DataSnapshot dataSnapshot, String s) { 
        Person friend = dataSnapshot.getValue(Person.class); 
        Toast.makeText(enter_page.this 
          , "Friend changed: " + dataSnapshot.getKey() 
            + " token: " + friend.getToken() 
            + " nodes: " + friend.getNodes() 
          , Toast.LENGTH_SHORT).show(); 
       } 
       @Override 
       public void onChildMoved(DataSnapshot dataSnapshot, String s) { 

       } 

       @Override 
       public void onCancelled(DatabaseError databaseError) { 

        System.out.println("DATABASE ERROR"); 
       } 

      }); 

答えて

1

OnCanceledので、それはこのようにする必要がありFirebaseErrorないDatabaseErrorを使用しています。

@Override 
public void onCancelled(FirebaseError databaseError) { 

    System.out.println("DATABASE ERROR"); 
} 

パラメータのメソッドをオーバーライドする際の型が重要です。

+0

ありがとうございます!ありがとうございました!! – RubberDuck

関連する問題