打造智能问答应用:MakeQuiz 与 TakeQuiz 全解析
1. 应用基础:空列表的初始化
在开发 MakeQuiz 应用时,列表初始化采用创建空列表块,而非制作列表块。这是因为 MakeQuiz 和 TakeQuiz 应用的数据均由用户动态生成。例如在创建问题列表(QuestionList)和答案列表(AnswerList)时,就使用创建空列表块来定义,这样能确保列表初始为空,等待用户输入数据。
2. 记录用户输入
当用户输入问题和答案并点击提交按钮时,需要使用添加项目到列表块来更新 QuestionList 和 AnswerList。具体操作如下:
- 应用会获取用户在问题文本框(QuestionText)和答案文本框(AnswerText)中输入的文本。
- 将这些文本分别追加到对应的列表末尾。
不过,添加项目到列表块更新列表变量后,这些变化不会立即显示给用户。需要通过第三行的块将列表进行拼接显示,默认情况下 App Inventor 显示列表会带有括号和空格,如“(item1 item2 item3)”,虽然这种显示方式不理想,但可用于初步测试应用行为。
3. 清空输入框
为了让用户能继续输入新的问答对,当用户提交一对问答后,需要清空 QuestionText 和 AnswerText 文本框。操作步骤如下:
- 当用户提交新的问答时,问答会被添加到相应列表并显示。
- 此时使用空文本块清空 QuestionText 和 AnswerText 中的文本。
可以通过输入几对问答来测试该功能,观察输入的问答是否显示在表单下方的 Question