對於現場數據採集項目,有人可以提供我怎麼可能能夠創建一個表單這樣的指針:我可以使用XForms讓用戶創建一個任意長度的列表,然後收集有關每個列表項的屬性嗎?
- 首先,在一個位置收集的人的名單。人數可能會變化。
- 列表完成後,列表中的每個人都會收集年齡和性別以及其他幾個固定/已知屬性。
如何創建一個循環,使得在步驟2中的表格閱讀器迭代上面的每個項目中的第1項
小XML片段收集將不勝感激。我被困在如何創建第二個項目的循環。
我打算用這與開放數據包(ODK)
對於現場數據採集項目,有人可以提供我怎麼可能能夠創建一個表單這樣的指針:我可以使用XForms讓用戶創建一個任意長度的列表,然後收集有關每個列表項的屬性嗎?
如何創建一個循環,使得在步驟2中的表格閱讀器迭代上面的每個項目中的第1項
小XML片段收集將不勝感激。我被困在如何創建第二個項目的循環。
我打算用這與開放數據包(ODK)
因爲該列表的長度可以是任意的,處理的最佳方式可能是有一個按鈕或其他指標由您確定第一個循環應該終止,第二個循環應該開始。其次,您應該小心地將您的GUI的責任從您的實際程序中分離出來。圖形用戶界面應該非常笨拙,應該做的不過是獲得輸入。
你的實際程序(可能只是調用你的GUI的一個不同的類)應該能夠得到它所需要的任何東西,並且從/向GUI發送任何它想要顯示的東西。
如果你想使用循環,你會有一個循環從你的GUI獲得一個名字(或者其他任何你想用來識別一個人的東西),如果有新的。然後你有GUI告訴應用程序打破該循環(一個調用函數的按鈕,或者設置一個值等),然後應用程序移動到第二個循環。
我推薦的是一個「保存」按鈕。無需循環,只需設置一個事件處理程序,每次單擊「保存」時都會調用類似「append_new_name_to_the_list(new_name)」的事件處理程序。然後有一個「保存」名稱,另一個「保存」額外的數據。你必須弄清楚如何確定哪個名字與哪個額外的信息一致,但是這可能就像從列表開始處開始並跟蹤該位置那樣簡單。
很明顯,如果你可以一次收集所有的信息,那會更容易,但我意識到這可能並不理想。