1
当按下菜单项时我想设置标签的文本,但是我收到错误:“调用<符号>失败”和“意外类型错误”。使用setText连接IQ意外类型错误
在我的菜单我的代表有:
using Toybox.WatchUi as Ui;
using Toybox.System as Sys;
using Toybox.Position as Position;
class DiscGolfMenuDelegate extends Ui.MenuInputDelegate {
var _view;
function initialize() {
MenuInputDelegate.initialize();
_view = new DiscGolfView();
}
function onMenuItem(item) {
if (item == :measure_throw) {
Sys.println("item 1");
_view.setLongestThrow("yeet");
} else if (item == :start_game) {
Sys.println("item 2");
}
}
}
的setLongestThrowFunction位于我的视图类,看起来像:
function setLongestThrow(msg) {
longest_throw_label.setText(msg);
}
它没有意义,为什么我会得到意想不到的输入错误,因为我通过一个字符串。任何人都看到我不喜欢的东西?谢谢。
尝试使用'''longest_throw_label.setText(msg.toString())'''我知道它看起来很愚蠢,它没有任何意义,但它可以提供帮助。 – 2016-11-10 08:49:05
'调用'失败'可能意味着您试图对空对象调用方法,或者您的变量不是您认为的类型。在不同的行上打印msg的值和'_view'的值,看看它们是什么(它们应该像'Obj:51')或哪一行崩溃。这可能会回答你的问题。 –
Aderis