Ошибка редактирования базы данных FIrebase - PullRequest
0 голосов
/ 06 июня 2018

У меня есть одно значение в базе данных child"received" поле.Мне нужно обновить это с новым значением некоторой программой сложения Integer.На самом деле я пытаюсь добавить это значение через один AlertDialog, тем самым я хочу добавить currentValue, присутствующий в базе данных, с моим введенным значением.Но добавляйте эти значения всякий раз, когда значение базы данных меняется.Я не смог разместить код за пределами базы данных.Как мне этого добиться?

Мой код

amountEnteredString=mAmount.getText().toString();

                DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child(userName);
                final DatabaseReference receivedRef = ref.child(month).child(customerName).child("received");

                receivedRef.addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {

                        currentDatabaseValueString = dataSnapshot.getValue(String.class);

                        Integer currentDatabaseValue=Integer.parseInt(currentDatabaseValueString);

                        Integer amountEntered=Integer.parseInt(amountEnteredString);

                        Integer result=currentDatabaseValue+amountEntered;

                        String resultString=Integer.toString(result);

                        receivedRef.setValue(resultString);

                        dialoag.dismiss();

                    }

                    @Override
                    public void onCancelled(DatabaseError databaseError) {

                        Log.w("name", "load:onCancelled", databaseError.toException());

                    }

                });

            }
        });

        mBuilder.setView(mView);
        dialoag= mBuilder.create();
        dialoag.show();

    }
});
...