Firebase数据库的getValue(int.class)问题

时间:2019-05-09 08:30:28

标签: java android

我正在做一个买卖Android应用程序。当1个用户删除1个产品,而他有3个产品时,我必须将Database(numSubastas)中的一个字段的值从3更改为2。它工作正常,除非用户只有1个产品,这种情况我会发生将值转换为int并尝试制作numSubastas-但这不起作用。看来我无法将setValue(0)放入Firebase数据库中。

我已经尝试解决了很多时间,不知道出什么问题了。

final DatabaseReference mDB3 = FirebaseDatabase.getInstance().getReference();
                                        //Seleccionar los datos del usuario para despues restarle una subasta eliminada
                                        mDB3.addListenerForSingleValueEvent(new ValueEventListener() {
                                            @Override
                                            public void onDataChange(DataSnapshot dataSnapshot) {
                                                if(dataSnapshot.exists()){
                                                    //si existe
                                                    numSubastasEnVenta = dataSnapshot.child("usuarios").child(uid).child("numSubastas")
                                                            .getValue(int.class);
                                                    numSubastasEnVenta--;

                                                    numSubastaTV.setText(numSubastasEnVenta+"");
                                                    //Una vez obtenido el numero de subastas en venta del usuario y despues de restarle una
                                                    //lo actualizamos en firebase
                                                    mDB3.child("usuarios").child(uid).child("numSubastas").setValue(numSubastasEnVenta);


                                                }
                                            }

                                            @Override
                                            public void onCancelled(@NonNull DatabaseError databaseError) {

                                            }
                                        });

0 个答案:

没有答案