NoMethodError未定义的方法`oncreateOptionsMenu`为true:Boolean

时间:2014-12-24 15:50:02

标签: android ruby rubymotion

我在一个非常基本的RubyMotion应用程序中调用onCreateOptionsMenu时遇到以下NoMethodError异常,我不确定这有什么问题。

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'

这是我定义的RubyMotion方法

def onCreateOptionsMenu(menu)
  getMenuInflater().inflate(resources.getIdentifier('my', 'menu', 'com.yourcompany.hello'), menu)
  return(super.onCreateOptionsMenu(menu))
end

我还包括一个与我创建的工作Java等效项,如果有任何帮助的话。

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

1 个答案:

答案 0 :(得分:0)

在Ruby中,super在父类中调用相同的方法。

代码中的这一行:

super.onCreateOptionsMenu(menu)

应该就是这样:

super(menu)