2017-08-01 4 views
0

申し訳ありませんが、私は非常によく英語を話しません。Firebase ValueEventListener

私の問題は、valueEventListener内の のコードの次のフラグメントでは、入力していないということです。理由は分かりません。なぜなら、私のリアルタイムデータベースの「cantidad」のgetValueは取得できません。

databaseReferenceは正しく取得されますが、eventValueEventListener = new Value ...の行を取得すると、onDataChange()メソッドには入力されません。

何が問題ですか?

ありがとうございました。

btnGoToEvent.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if(auth != null && btnGoToEvent.getText().equals("¡ME APUNTO!")) { 
       btnGoToEvent.setText("Al final no voy a ir"); 
       databaseReference = FirebaseDatabase.getInstance().getReference().child("Eventos").child(String.valueOf(position)); 
       valueEventListener = new ValueEventListener() { 
        @Override 
        public void onDataChange(DataSnapshot dataSnapshot) { 
         cantidad = Integer.parseInt(dataSnapshot.child("cantidad").getValue().toString()); 
         cantidad++; 
         databaseReference.setValue(cantidad); 
         databaseReference.push().setValue(new User(auth.getEmail())); 
        } 

        @Override 
        public void onCancelled(DatabaseError databaseError) { 

        } 
       }; 

      }else if(auth != null && btnGoToEvent.getText().equals("Al final no voy a ir")){ 
       btnGoToEvent.setText("¡ME APUNTO!"); 

      }else{ 
       Toast.makeText(getApplicationContext(), "Necesita estar registrado para apuntarse", Toast.LENGTH_LONG).show(); 
      } 
     } 
    }); 

答えて

2

あなたがしているのは、新しいValueEventListenerを作成することだけです。これを聞くためにReferenceに追加するまでコールバックはありません。

これを設定するには、この行を書きますか?

databaseReference.addValueEventListener(valueEventListener); 
+0

もちろん、ありがとう、私はこれを覚えていません。 –

関連する問題