【问题标题】:Firebase Firestore Kotlin Quizz QuestionListFirebase Firestore Kotlin 测验问题列表
【发布时间】:2020-10-24 12:02:53
【问题描述】:

我有疑问和问题。我想通过连接 firestore firebase 创建测验。我用示例问题创建数据库。

如何在我点击一个问题时显示下一个问题?我需要先做什么?某处可能会有一个循环。您是否列出了从 firestore 到随机化的值?

val db = FirebaseFirestore.getInstance()
val docRef = db.collection("quizz").document("question1")
docRef.get()
    .addOnSuccessListener { document ->
        if (document != null) {
            pytanie.text = document.data?.getValue("pytanie").toString()
        } else {
            Log.d("TAG", "No such document")
        }
    }.addOnFailureListener { exception ->
        Log.d("TAG", "get failed with ", exception)
    }

现在我有问题并设置为 txt。

这是我的火力基地

This is my firebase firestore train database

如何在点击textview后添加很多问题并更改它?

感谢您的帮助和提示

【问题讨论】:

    标签: android firebase kotlin google-cloud-firestore


    【解决方案1】:

    这是一种合乎逻辑的任务。因此,只需完成所有测验,然后遍历它们

    val db = FirebaseFirestore.getInstance()
    val docRef = db.collection("quizz")
    docRef.get()
        .addOnSuccessListener { result ->
            var count = 0
            var questionsList:ArrayList<String>() = arrayListOf()
            for (document in result) {
                questionsList.add(document.data.pytanie);
            }
            textview.setText(questionsList.get(count));
            textview.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    count++;
                }
            });
        }.addOnFailureListener { exception ->
            Log.d("TAG", "get failed with ", exception)
        }
    

    【讨论】:

      【解决方案2】:

      试试这个代码 sn-ps:-

       db.collection("quizz").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                  @Override
                  public void onComplete(@NonNull Task<QuerySnapshot> task) {
                      if (task.isSuccessful()) {
                          textView.setOnClickListener(new View.OnClickListener() {
                              @Override
                              public void onClick(View view) {
                                  if (counter == task.getResult().getDocuments().size()){
                                      counter = 0;
                                  }
                                 String text =  task.getResult().getDocuments().get(counter).getData().toString();
                                  textView.setText(text);
                                  counter++;
                              }
      
                          });
                      } else {
                          Log.d("TAG", "Error getting documents: ", task.getException());
                      }
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-20
        • 1970-01-01
        • 2018-03-19
        • 2022-11-11
        • 2020-10-19
        • 2020-01-11
        • 2018-05-30
        • 1970-01-01
        相关资源
        最近更新 更多