I've used the following code to test this:
Layout:
<layout id="MainLayout">
<label id="myLabel" x="center" y="center" color="Gfx.COLOR_WHITE" justification="Gfx.TEXT_JUSTIFY_CENTER" />
</layout>
Code:
using Toybox.Application as App;
using Toybox.WatchUi as Ui;
class TestWidgetView extends Ui.View {
var labelText = "Press a button...";
//! Load your resources here
function onLayout(dc) {
setLayout(Rez.Layouts.MainLayout(dc));
}
function onUpdate(dc) {
var label = View.findDrawableById("myLabel");
label.setText(labelText);
View.onUpdate(dc);
}
}
class TestWidgetInputDelegate extends Ui.InputDelegate
{
var view;
function initialize(view)
{
self.view = view;
}
function onKey(evt)
{
view.labelText = evt.getKey().toString();
Ui.requestUpdate();
return true;
}
}
class TestWidgetApp extends App.AppBase {
function getInitialView() {
var view = new TestWidgetView();
return [ view, new TestWidgetInputDelegate(view) ];
}
}