0

对于现场数据收集项目,有人可以提供一个关于我如何能够创建这样的表单的指针:

  1. 首先,收集一个地点的人员名单。人数可能不定。
  2. 一旦列表完成,然后为列表中的每个人收集年龄和性别以及其他几个固定/已知的属性。

如何创建一个循环,以便表单阅读器在上面的步骤 2 中迭代项目 1 中收集的每个项目。

一个小的 XML 片段将不胜感激。我被困在如何为第二个项目创建循环。

我打算将它与 Open Data Kit (ODK) 一起使用

4

1 回答 1

1

因为列表的长度可以是任意的,处理这个问题的最好方法可能是有一个按钮或其他指示器,您可以通过它确定第一个循环应该终止,第二个循环应该开始。

其次,您应该小心地将 GUI 的职责与实际程序分开。GUI 应该非常笨拙,除了获取输入之外应该做的更多。

然后,您的实际程序(可能只是调用您的 GUI 的不同类)应该能够获取它需要的任何内容,并从/向 GUI 发送它想要显示的任何内容。

如果你想使用循环,如果有新的可用,你将有一个循环从你的 GUI 中获取一个名称(或任何你想用来识别单个人的名称)。然后,您让 GUI 告诉应用程序中断该循环(调用函数或设置值等的按钮),然后应用程序进入第二个循环。

不过,我推荐的是“保存”按钮。无需循环,只需设置一个事件处理程序,每次单击“保存”时调用类似“append_new_name_to_the_list(new_name)”的内容。然后有一个“保存”名称,另一个“保存”额外数据。您必须弄清楚如何确定哪个名称与哪个额外信息一起使用,但这可能就像从列表的开头开始并跟踪该位置一样简单。

显然,如果您可以一次收集所有信息,那会更容易,但我意识到这可能是不可取的。

于 2013-11-05T19:25:55.933 回答