如何使用 Firestore 查询的结果填充微调器?

我正在创建一个spinner将显示主题名称的内容。主题名称存储在我的 Firestore 数据库中,如下所示:


subjects (collection)

|

|--- SUB01 (document)

|    |

|    |--- name : "Android"

|

|--- SUB02

|    |

|    |--- name : "Java"

我可以将结果获取给一个RecyclerView但无法帮助自己为微调器这样做。


www说
浏览 101回答 1
1回答

慕勒3428872

要解决此问题,请使用以下代码行:FirebaseFirestore rootRef = FirebaseFirestore.getInstance();CollectionReference subjectsRef = rootRef.collection("subjects");Spinner spinner = (Spinner) findViewById(R.id.spinner);List<String> subjects = new ArrayList<>();ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, subjects);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinner.setAdapter(adapter);subjectsRefRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {&nbsp; &nbsp; @Override&nbsp; &nbsp; public void onComplete(@NonNull Task<QuerySnapshot> task) {&nbsp; &nbsp; &nbsp; &nbsp; if (task.isSuccessful()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (QueryDocumentSnapshot document : task.getResult()) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String subject = document.getString("name");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; subjects.add(subject);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; adapter.notifyDataSetChanged();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }});结果将是一个包含 2 个项目的微调器:AndroidJava
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java