【问题标题】:How to show specific data in spinner with Firebase?如何使用 Firebase 在微调器中显示特定数据?
【发布时间】:2018-01-12 19:15:17
【问题描述】:

正在检索我的数据,但我只想在我的微调器中显示名称,例如 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) {

                }
            });

我的数据库结构:

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

我只想在我的微调器中看到不同的 URL_xxx_fr、nb 等名称,然后我可以在用户单击不同的 URL 时进行管理

【问题讨论】:

  • 请添加一个现有的 url 作为示例以及您希望最终的外观。

标签: android firebase arraylist spinner


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2020-01-19
    • 1970-01-01
    • 2020-07-24
    • 2019-12-12
    相关资源
    最近更新 更多