在微调器中列出 Firebase 数据库表

List Firebase database tables in spinner

我正在尝试在微调器中列出我的 Firebase 数据库表。我有一个节点产品,其中包含其他产品的列表。我的目标是从父节点列出这些子目录并将它们列在微调器中。 看看我的数据库。 database structure

这是我迄今为止尝试过的方法,但收效甚微。

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
        }
    });

}

有人指导我如何正确地做。result

而不是使用 getValue() 使用 getKey() 来获取节点的密钥。

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