如何使用Firebase在微调器中显示特定数据?

时间:2018-01-12 19:15:18

标签: android firebase arraylist spinner

正在检索我的数据,但我只想在我的微调器中显示名称,如URL_xxx_NB或URL_xxx_FR,因为当人们以另一种语言使用该应用程序时,我存储了不同的URL,我只需要检索名称和当我把datasnapshot.getvalue()它给我带来了整个事情,名字+链接。见下文。

这就是我正在做的事情:

mDatabase.child("Users").child(uid).child("URL_ArchivosUsuario").addValueEventListener(new ValueEventListener() {
                final List<String> areas = new ArrayList<String>();
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    Log.e("UserUrls",""+dataSnapshot);

                        areas.add(dataSnapshot.getValue().toString());


                    Spinner areaSpinner = findViewById(R.id.spinner);
                    ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(UserEdit.this, android.R.layout.simple_spinner_item, areas);
                    areasAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    areaSpinner.setAdapter(areasAdapter);

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

我的数据库结构:

My database structure is the follow

这就是我的微调器显示的内容:

enter image description here

我只想在我的微调器中看到不同的URL_xxx_fr,nb等名称,然后我可以管理用户点击不同的URL以执行某些操作

1 个答案:

答案 0 :(得分:0)

解决了它,我只需要getChildren和getKey,这就是我在onDataChange之后所做的事情:

for(DataSnapshot ds : dataSnapshot.getChildren()) {
    String name = ds.getKey(); 
    areas.add(name);
}