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.
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).