Как отобразить данные, данные которых находятся внутри дочернего узла во фрагменте? - PullRequest
0 голосов
/ 16 октября 2018

Моя кодировка для отображения всех данных в Фрагмент : -

    DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Advertisement").child("tuitionPackages").child("0");

    ref.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists() && dataSnapshot.getChildrenCount() > 0) {

                Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();

                String academicLevel,packageStatus,price,subjects;

                if (map.get("packageStatus") != null) {
                    packageStatus = map.get("packageStatus").toString();
                    mPackageType.setText(packageStatus);
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }

    });

Моя база данных: -

enter image description here

Мой вывод для отображения пакетов обучения: -

enter image description here

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Вы можете попробовать этот код, чтобы получить данные из вашей базы данных Firebase, затем вы можете использовать эти данные для заполнения ваших полей во фрагменте.

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Advertisement").child(ID1).child(ID2).child("tuitionPackages");

ref.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                       String acadLvl = dataSnapshot.child("academicLevel").getValue(String.class);
                       String packStatus = dataSnapshot.child("packageStatus").getValue(String.class);
                       int price = dataSnapshot.child("price").getValue(Integer.class);
                       String sub = dataSnapshot.child("subjects").getValue(String.class);

                        }
                    }

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

                    }
                });

В этом коде ID1 и ID2 являютсястроки, которые я вижу в образе вашей базы данных под узлом Advertisement.

0 голосов
/ 16 октября 2018

попробуйте это,

 DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Add your root element").child("tuitionPackages").child("0");

String academicLevel,packageStatus,price,subjects;

            ref.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    if (dataSnapshot.exists() && dataSnapshot.getChildrenCount() > 0) {
                        Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();
                        if (map.get("academicLevel") != null) {
                            academicLevel = map.get("academicLevel").toString();
                            textView.setText(academicLevel);
                        }

                        if (map.get("packageStatus") != null) {
                            packageStatus = map.get("packageStatus").toString();
                            textView1.setText(packageStatus);
                        }

                        if (map.get("price") != null) {
                            price = map.get("price").toString();
                            textView2.setText(price);
                        }

                        if (map.get("subjects") != null) {
                            subjects = map.get("subjects").toString();
                            textView3.setText(subjects);
                        }
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                }

            });

Надеюсь, что помощь полная.

...