Swiping screen by touch not pressing next button in odk survey

I have some problems in configuring the odk survey.
1- can we have access to the first screen of forms which list the instances. I add manually rows to sub-from tables and now when a parent row is deleted I have to delete all child table rows, too. The user will delete the parent instance from the screen which is listed. How can I access to this screen to delete all child rows.
2- Is it any solution to enable the swiping by touch the screen not pressing the next button.


Not question 1 is not clear to me. However, answer to question 2 is yes you can. you can simply use quickcompact appearance for select type questions or you may simply hide the next previous button from savings menu and swipe the screens instead.


@A.N.M_AL-IMRAN I think @Sakina_Alizada might be using the Survey app from ODK 2.

Yes, I am using ODK survey 2.0 and in odk2 I can’t use appearance. I already confused by odk 1 and 2 because there are some features in odk 1 such as thousand-sep which isn’t working in odk 2.
I try a lot of way to make swipe the form by touch in tablet but unfortunately not work. and also I changed the button label in linked-table “create new instance” but again it doesn’t work.
we designed a complicated form and we add row to subform without using linked-table. we will make the json of that row and using odkData.addRow, odkData.addCheckpoint, odkData.saveCheckpointAsComplete methods to add dynamically to sub form table. we code all things in handlebars file. Now we have a problem with deleting main-form the sub-forms should be deleted too. So the only way to delete a form is start screen which all instances are listed. I want to know about how can I understand which instance is deleted by user to delete all its sub-forms?

  1. This is an interesting issue that I am guessing people will have differing opinions on how it should be handled as not all subforms usages are tied to a single “parent” form. Saving some information in the child database that references the parent database row and writing some code in JavaScript on a delete event to run some cleanup code might be the fastest way if you are sure that all child table rows should be deleted. Some people opt to control this from ODK Tables to make it easier. You can launch ODK Survey from ODK Tables directly and provide the rowId causing ODK Survey’s screen that shows all the instances to be hidden.

  2. With regards to swiping this an issue that we have been debating how to handle. Since ODK Survey uses the “web” for all UI events (instead of Native Android) you have to capture the swipe as a javascript web event. Capturing this event is doable except that previously different behavior occurred depending on the Android OS the phone was running. There have been many changes to the Android webkit and previous to Android version 4.4.4 the webkit is tied to the operating system. The code to capture the “web swipes” would act differently based on the webkit version meaning different versions of Android devices acted differently creating user experience problems. To solve this issue Android decoupled the webkit from the OS in Android 4.4.4 and now the webkit gets updated via google play so the webkits are similar across different operating systems so in theory we could now add back the survey webkit swipe feature as it would be similar across devices with Android 4.4.4 and greater (if memory serves correctly). However, there could still be bugs with the previous versions of Android. We moved ODK Survey’s minimum OS requirement to 4.1 which reduces the number of devices we had to cover. We could move it higher and possibly drop 4.1, 4.2.x., or 4.3.x if they give us trouble (I believe it was the 4.0.x that gave the most trouble in the pass but it’s been a while and we hoped to solve this through deprecation of support for previous OSes) a little testing is needed to see compatibility issues with the JavaScript libraries (which have actually changed since we last investigated). However, the final decision about this has been left to the new Technical Steering Committee for ODK 2 that just got started up to decide. Here is the info about the new TSC ODK 2 TSC Election - 2018-09-03

We are happy to accept code patches if you want to take on capturing a swipe event and verifying it now acts the same among Android version 4.1 and above. There could be JavaScript libraries now available as open source that solve the issue.

I also want to encourage you to participate in the ODK 2 community calls and help the TSC prioritize the features that will be improved. We normally meet every two weeks, but with the upcoming holidays I am not sure there will be a second December meeting.

The TSC 2 is working on a new website and planning tools that will hopefully launch in the next month or so. In the mean time best to put issues here: Issues · getodk/getodk · GitHub