在我的应用程序中,我有一个片段,允许用户对他想要查看的国家进行过滤搜索 . 它看起来像这样(用户选择他想要看的国家的大陆,然后出现这些大陆的所有国家):
我正在使用 Firebase Realtime database
为了保存所有国家/地区的名称和每个国家的图像 . 这就是我的JSON树的样子(不是这里显示的所有国家):(顺便说一句,我很抱歉,因为它全部是葡萄牙语):
我目前可以显示特定大陆的所有国家/地区,但是,如果用户选择多个大陆,则无法查询所有国家/地区...这是我目前必须执行的操作:
DatabaseReference paisNomeContinentes = mDatabase.child("continentes").child(Constants.PAISES_EUROPA).child("Paises"); // C1 - ÁFRIA (Constants.PAISES_AFRICA)
ValueEventListener valueEventListener1 = new ValueEventListener() { // C2 - ÁSIA (Constants.PAISES_ASIA)
@Override // C3 - ANTÁRTIDA (Constants.PAISES_ANTARTIDA)
public void onDataChange(DataSnapshot dataSnapshot) { // C4 - AMÉRICA (Constants.PAISES_AMERICA)
List<String> nomePaisList = new ArrayList<>(); // C5 - EUROPA (Constants.PAISES_EUROPA)
// C6 - OCEANIA (Constants.PAISES_OCEANIA)
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String nomePais = ds.child("Nome").getValue(String.class);
nomePaisList.add(nomePais);
}
int urlCount = nomePaisList.size();
int randomNumber = new Random().nextInt(urlCount);
List<String> randomNomePaisList = new ArrayList<>();
for (int i=0; i<=9; i++) {
randomNomePaisList.add(nomePaisList.get(randomNumber));
txtHomeDesc.setText(randomNomePaisList.get(i)); // Inserir na TextView o nome do respetivo país
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
paisNomeContinentes.addListenerForSingleValueEvent(valueEventListener1);
如何检索用户选择的各大洲的所有国家/地区?
1 回答
可以通过多种方式实现这一目标 . 其中一项在以下完成 -
我希望这有帮助 ....