HI,
For EDGE devices with touch screen....
We are developing a data field and we would like to add a button on screen to show certain info via pop up. Is it possible?
Thanks in advance,
HI,
For EDGE devices with touch screen....
We are developing a data field and we would like to add a button on screen to show certain info via pop up. Is it possible?
Thanks in advance,
thanks a lot, but I think I too dumb I put this onUpdate and does not work, do I have to do something else?
it shows me this error
if(val) { Model = 1; }else{ Model = 2; }
Ok I have this working
class InputDelegate extends Ui.BehaviorDelegate { function onTap(evt) { var val = !val; Ui.requestUpdate(); return true; } } function initialize() { DataField.initialize(); BehaviorDelegate.initialize(); } function onUpdate(dc) { if(val == true) { Model = 1; }else{ Model = 2; }
but val is not detected
Undefined symbol ':val' detected.
BUILD: Complete
if you want val to be in your input delegate, after line 1 for what you posted, add
var val=false; //or =true;, depending on what you want the default to be.
no, it does not work it says it also does not work if you put var val = true; inside: class AppView extends Ui.DataField {
Cannot find symbol ':val' on type 'self' on the line 16.
the problem I think it's inside onUpdate
no it think it's not posible get out a variable to onUpdate I also tried to call with a delegate .mc this way but it says
Undefined symbol ':val' detected.
using Toybox.WatchUi; class AppDataFieldDelegate extends WatchUi.BehaviorDelegate { function initialize() { BehaviorDelegate.initialize(); } function onTap(event) { var val = true; WatchUi.requestUpdate(); return true; } }
class AppView extends Ui.DataField { var del = new AppDataFieldDelegate(); } function onUpdate(dc) { if(del.val) { Model = 1; }else{ Model = 2; } }
In getInitial view, bothe the view and delegate are created. What you can do is pass the view to the delegate (or v/v) like this:
function getInitialView() {
var view=new MyView();
return [view,MyDelegate(view)];
}
in your delegate, ininialize will have the view as a parameter
class MyDelegate extends WatchUi.BehaviorDelegate { var view; function initialize(v) { BehaviorDelegate.initialize(); view=v; } function onTap(evt) { view.val=!view.val; WatchUi.requestUpdate(); return true; } }
var val is then in your view class, but it's changed in the delegate.
Thanks a lot Jim really thanks for your patience now it works with the get initial view trick, really thanks
if I wish to this onKey what should I do I think this is not ok
function onKey(evt) { var key=evt.getKey(); if(key==WatchUi.KEY_ENTER) { val = !val; } WatchUi.requestUpdate(); return true; } }