2016-09-24 22 views
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); 
} 

그것은 이해가되지 않습니다 문자열을 통과하는 동안 오류를 입력하십시오. 아무도 내가 볼 수없는 것을 본다? 감사.

+0

'''longest_throw_label.setText (msg.toString())'''사용하려고하면 어리석은 것처럼 보입니다. 이해가되지 않지만 도움이됩니다. –

+0

'Failed invoking '은 null 객체에서 메소드를 호출하려고했거나 변수가 생각한 유형이 아님을 의미 할 수 있습니다. msg의 값과'_view'의 값을 다른 줄에 출력하고 그것들이 무엇인지 ('Obj : 51'와 같아야합니다) 또는 어떤 줄이 충돌하는지 봅니다. 그럴 가능성이 귀하의 질문에 대한 답변을합니다. – Aderis

답변

1

나는 _view 또는 setText에 전달 된 문자열이 아니고 longest_throw_label으로 문제가 있다고 생각합니다.

메뉴 생성자에서 _view을 초기화했지만 뷰가 아직 레이아웃되지 않았을 가능성이 있습니다 (보기가 푸시되지 않았기 때문에 시스템이 _view.onLayout(dc)을 호출하지 않았습니다).