2014-12-24 3 views
0

매우 기본적인 RubyMotion 앱에서 onCreateOptionsMenu을 호출하면 다음 NoMethodError 예외가 발생하며 어떤 문제인지 잘 모르겠습니다. 그 어떤 도움의 경우 NoMethodError 정의되지 않은 메소드 oncreateOptionsMenu`가 true 인 경우 : Boolean

E/com/yourcompany/hello(5404): Exception raised: NoMethodError: undefined method `onCreateOptionsMenu' for true:Boolean 
E/com/yourcompany/hello(5404):   from main_activity.rb:19 in `onCreateOptionsMenu' 

, 나는 나 또한 내가 비교로 만든 작업 자바 상당을 포함하고있어
def onCreateOptionsMenu(menu) 
    getMenuInflater().inflate(resources.getIdentifier('my', 'menu', 'com.yourcompany.hello'), menu) 
    return(super.onCreateOptionsMenu(menu)) 
end 

을 정의한 RubyMotion 방법입니다.

@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    getMenuInflater().inflate(R.menu.my, menu); 
    return(super.onCreateOptionsMenu(menu)); 
} 

답변

0

Ruby에서 super은 부모 클래스에서 동일한 메소드를 호출합니다.

그래서 코드에서이 라인 :

super(menu)

+0

야 :

super.onCreateOptionsMenu(menu)

그냥이해야합니다! 나는 바보 같은 짓을했다고 믿을 수 없다. 나는 다른 곳에서도 슈퍼를 올바르게 사용하고 있습니다. Java에서 RubyMotion으로의 전환을 놓치고 알지도 못했습니다. 나는 더 많은 수면이 필요하다. 감사! – bigtunacan