Problem with passing data from one screen to another

Greetings forum friends. After reviewing several examples and trying my app project, I can't solve this problem.

  1. On screen 1 enter Name
  2. I need to go to screen 2. This one Works.
  3. On screen 2 I import data from an HCG and see the data in a Listview. When selecting an item, you must pass the corresponding HCG data and also the Name data on the next screen. Here it DOES NOT WORK!
  4. When returning, the Name should be seen on screen 2 again
    All this until all the items (questions) are completed
    there may be a solution.
    I go to your predusposition to help me in this matter. I would like you to confirm me to send the .aia file if necessary

Screen 2

Where is the required Web1.Url to block to generate Tabla? You expect to pass Tabla to another Screen without it?. See Figure 24-& in Communicating with the Web . The data has to exist before you pass it.

you might want to read tip 1 here


Trying to push the limits! Snippets, Tutorials and Extensions from Pura Vida Apps by Taifun.

Thanks for the answer, the table is in a Google drive spreadsheet. The data was successfully passed to the Listview and from this I select any item (question) and pass the data very well to the other screen. Since it is a questionnaire, I want the name to always go to the answer screen (Replay) so that the name of the person who answers the questionnaire and its corresponding note is registered again

Thanks I will review

  1. Ok
  2. If you are allergic to virtual screens which eliminate the drudgery of passing data between Screens, consider passing the data using a TinyDB rather than using the awkward open another screen with start value Block. That Block works but I've always felt the logic of using a TinyDB is more straightforward. Places a TinyDB control on both Screens (the Screens share the data). Pass any data changed on a Screen using the TinyDB to recapture the values using a Screen2.Initialize Block by assigning the appropriate values of the TinyDB to an appropriate variable on that Screen. Also, it allows transferring lots of data in one straightforward operation.

I am very grateful, .. It actually worked well. One last question, .. I suppose that when I close the application I must delete the TinyDB ???

Use this block

1 Like

How much do you like the data that you had in TinyDB?

The Name data is only while a student is taking a quiz and then submits their answer along with their name. and ready
In this project I only need that the student cannot change the screen while taking the quiz, if he does, he closes and the opportunity ends. It is in order to avoid fraud. For another test you will have to clean the TinyDB to start again

You can use this block to check that

1 Like

I tried a little experiment to see if I could detect inattention by spotting a discontnuity in the time elapsed between the latest SystemTime display and the current SystemTime, in case the display would not update while I looked away at the other apps running on the device.

Unfortunately, no gap was noticed ...

attention_tester.aia (2.7 KB)

Instead, consider capturing the SystemTime of the last user interaction (button click) and measure the time between those for your attention metric.

1 Like

Dear ABG,
This interesting, I tried the .aia file, but in this case the square command or the circle command of the cell phone lowers the screen and can be consulted in google and then you can return to continue doing the test. That is, it does not close automatically and the test ends.
or maybe I don't understand the function of the sent blocks. It is necessary that the student does not have the opportunity to change screens to consult the answers to the questions on another screen, for example in google. It is better to check when the screen is changed so that the block is executed, since the student can claim that he did not show activity on the screen because he was thinking about the answer

I think you should use ActivityStateChanged event from Taifun tools extension

when the state changes from pause to resume and if the time elapsed in between is greater than a few seconds then they maybe indulging in malpractice !


Thank you, I will try