Невозможно получить общее значение 2 дочерних элементов в базе данных Firebase - Android - PullRequest
1 голос
/ 14 июля 2020

У меня есть метод загрузки приложения для заказа. Вы можете получить цену из базы данных (harga) и сумму от пользователя, но я не могу получить общую сумму. Он всегда принимает значение 0.

Итак, вот мой код:

public void uploadImg() {
    if (FilePathUri != null) {
        progressDialog.setTitle("Process...");
        progressDialog.show();
        StorageReference storageReference2 = storageReference.child(System.currentTimeMillis() + "." + GetFileExtension(FilePathUri));
        
        storageReference2.putFile(FilePathUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(final UploadTask.TaskSnapshot taskSnapshot) {
                final String ukuran = UkuranPasFoto.getSelectedItem().toString().trim();
                final int jumlah = Integer.parseInt(JumlahPasFoto.getText().toString().trim());
                final String catatan = inputCatatan.getText().toString().trim();
                final int status = 0;

                databaseHarga.child("harga").child("pasFoto").addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        int harga = dataSnapshot.child(ukuran).getValue(Integer.class);

                        int total = harga*jumlah;

                        progressDialog.dismiss();
                        Toast.makeText(getApplicationContext(),"Sucess !",Toast.LENGTH_LONG).show();
                        PesanPasFoto ImageUploadInfo = new PesanPasFoto(uid, ukuran, jumlah, catatan, total, status, taskSnapshot.getUploadSessionUri().toString());
                        String ImageUploadId = database.push().getKey();
                        database.child(ImageUploadId).setValue(ImageUploadInfo);
                    }

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

                    }
                });
            }
        });
    } else {
        Toast.makeText(PasFotoActivity.this,"Please Select Image or Fill the blank",Toast.LENGTH_LONG).show();
    }
}

вот моя база данных

введите описание изображения здесь

Как видите, значение «total» всегда равно 0, и в logcat нет ничего неправильного

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...