panel.getElement().setAttribute("onclick", "hide()");
public static native void hide() /*-{
button.@com.google.appinventor.client.widgets.Button::hidePage()();
}-*/;
It doesn't call the hide() method on click. Probably, it's unable to find the method. Is there any workaround ?
I only want to call GWT hidePage() either from external JS or from attribute's JS code.
This doesn't work because the hide
method will be assigned an obfuscated name when it is converted into JavaScript. It would be better to use something like addEventListener to attach the function reference instead.
1 Like
Something like this ?
public static native void hide(Element element) /*-{
element.addEventListener('onclick', function (e) {
button.@com.google.appinventor.client.widgets.Button::hidePage()();
});
}
You'll also need a reference to button
, which right now isn't declared anywhere as far as I see.
Because the function is static, this
will be bound to the window rather than your object.
system
Closed
July 26, 2022, 7:12pm
10
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.