繁体   English   中英

Firebase ValueEventListener

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM