gpt4 book ai didi

android - 如何从 Firebase 获取字符串列表来填充 Spinner

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:56 25 4
gpt4 key购买 nike

我的数据库是这样排列的:

enter image description here

我想从 areaName 获取所有值作为字符串列表或任何形式的列表,并使用它来填充 Spinner。我遇到的问题是它只检索最后一个值(在本例中为“纽约”)。这是我的实际代码:

fDatabaseRoot.child("areas").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) {
String areaName = areaSnapshot.child("areaName").getValue(String.class);

Spinner areaSpinner = (Spinner) findViewById(R.id.spinner);
final String[] areas = {areaName};
ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(UAdminActivity.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) {

}
});

最佳答案

我没有测试该代码,但或多或​​少,这是您必须做的:

fDatabaseRoot.child("areas").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Is better to use a List, because you don't know the size
// of the iterator returned by dataSnapshot.getChildren() to
// initialize the array
final List<String> areas = new ArrayList<String>();

for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) {
String areaName = areaSnapshot.child("areaName").getValue(String.class);
areas.add(areaName);
}

Spinner areaSpinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(UAdminActivity.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) {

}
});

希望对你有帮助!

问候。

关于android - 如何从 Firebase 获取字符串列表来填充 Spinner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38492827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com