Datafield settings view doesn't update

Hi, my datafield view updates every seconds as excepted. But the Settings view isn't getting any update, even when I call "requestUpdate". Is it normal ? In the CIQ sim, everything is working fine.

  • It's not normal, but the settings view in datafields is very limited. I wasted lot of time on it and basically gave up.

  • Hi, my datafield view updates every seconds as excepted. But the Settings view isn't getting any update, even when I call "requestUpdate". Is it normal ? In the CIQ sim, everything is working fine.

    Yes I have noticed this as well, and I think it's on purpose. I think Garmin doesn't really want devs using this for anything other than settings. So a dev can implement a settings menu (as the view will still update on button press / swipe), but a dev can't implement something like a live stats view.

    It's not normal, but the settings view in datafields is very limited.

    Well, I think it's by design, and therefore "to be expected" as opposed to being a bug (which is probably what was meant by "normal").

    It's unfortunate, because it means that a dev can't ab(use) an on-device settings view for certain non-settings use cases, like having a fully-fledged 2nd UI for your data field, such a page full of stats that updates live, or a live lap history list.

    It is too bad that the real behaviour is not reflected in the sim. That could be worth a bug report.

  • It's unfortunate that devs can't use the on-device settings for on-device settings. period. For example I tried to implement a way to type a string. But because of this restriction the keyboard doesn't work. Maybe if Garmin provided a way to have string settings edited from there then we wouldn't need to try hacks.

  • But because of this restriction the keyboard doesn't work.

    that sounds like a bug and I would report it

  • I see but I just wanted to allow the user to pair with a Bluetooth device, and therefore update the screen when a device is found for example.

    I found a way to do it: because datafield settings allow us to push and pop views, I do that when I need to update the view, it works pretty well.

  • So what do you do? You update the current view, then push it, and that updates the screen? Or you have to have 2 copies and every time switch between them (which one is on top)? 

  • I think you can just push a dummy view then immediately pop it. Seems that it would be a jarring user experience (*), but it would work. Pretty clever workaround.

    (* I think even if you use SLIDE_IMMEDIATE and push a new view that has identical contents to the current view, the user will still notice, although I haven't tried it recently. I imagine it would also interrupt any user input that was currently taking place, like scrolling through a menu)

    Probably wouldn't be good for any kind of live data that's updated very frequently tho, assuming that the pushing and popping *is* noticeable to the user.

  • I think I tried something like that and it didn't work for what I needed then (kind of a keyboard).