Список таблиц базы данных Firebase в счетчике - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь перечислить свои таблицы базы данных Firebase в счетчике. У меня есть те продукты узла, в которых есть список других. Моя цель - перечислить эти подкатегории из родительского узла и перечислить их в счетчике. Посмотрите на мою базу данных. структура базы данных

Это то, что я до сих пор обрабатывал с небольшим успехом.

mDatabaseReference.child("Products").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            DataSnapshot data = dataSnapshot;
            ArrayList<String> list = new ArrayList<>();
            for (DataSnapshot lists : data.getChildren()){
                Log.d("ddd","Array List: "+lists.getValue().toString());
                list.add(String.valueOf(lists.getValue()));
                //textView.setText(lists.getValue().toString());
            }
            showDataInSpinner(list);
        }

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

        }
    });

Для отображения данных в Spinner, это код.

 public void showDataInSpinner(ArrayList<String> data) {
    ArrayAdapter<String> adapter = new ArrayAdapter<>(
            this, android.R.layout.simple_spinner_item, data
    ); //Create the Adapter to set the data
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //Set the layout resource to create the drop down views.
    spinner.setAdapter(adapter); //Set the data to your spinner
    spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {

        @Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
            category = item;

            refreshproducts();//displays db data
        }
    });

}

кто-то подсказывает мне, как это сделать правильно. результат

1 Ответ

0 голосов
/ 04 марта 2020

Вместо использования getValue() используйте getKey() для получения ключа узла.

Log.d("ddd","Array List: "+lists.getKey().toString());
list.add(String.valueOf(lists.getKey()));
...