[英]Firebase ValueEventListener
对不起,我英语说得不好。
我的问题是,在下一个代码片段中,在valueEventListener中,没有输入,我不知道为什么,所以,我无法获取实时数据库的“ cantidad”值。
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();
}
}
});
您在此处所做的全部工作就是创建一个新的ValueEventListener。 除非将其添加到引用以进行侦听,否则不会得到任何回调。
也许您还打算写这行来进行设置?
databaseReference.addValueEventListener(valueEventListener);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.