什么是onCreateOptionsMenu(菜单菜单)
什么是两个参数菜单和菜单方法onCreateOptionsMenu(Menu menu)
以及如何使用此方法。 我有另一个问题,为什么使用this
参数
Intent intent = new Intent(this, DisplayMessageActivity.class);
菜单只是参数菜单的types。 例如,对于名为string,dog等的variables,可以使用Stringtypes。在这种情况下,对于名为menu的参数,有一个Menutypes。
您可以使用onCreateOptionsMenu()指定活动的选项菜单。 在这种方法中,您可以将菜单资源(以XML定义)充入回调中提供的菜单。
例如:
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.game_menu, menu); return true; }
获取更多信息,请访问此链接 。
至于这个 ,
在实例方法或构造函数中,这是对当前对象的引用 – 即其方法或构造函数被调用的对象。
例如:
public void sendMessage() { Intent intent = new Intent(this, DisplayMessageActivity.class); }
构造函数接受两个参数,一个Context作为第一个参数。 这表示环境数据并提供有关应用程序环境的全局信息。
有关您提供的意图示例的更多信息,请查看。
首先在onCreateOptionsMenu(Menu menu)函数中只传递一个参数而不是两个。 你在那里传递菜单类的对象。 我们使用这个function来覆盖默认的function来定制我们自己的菜单,比如在菜单中添加按钮和文本,图片等等。
为更多的参考
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.game_menu, menu); return true; }
实现这个方法的目的是填充你在R.menu.game_menu
布局文件中定义的R.menu.game_menu
传递的menu
。
Java的
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.game_menu, menu); return true; }
科特林
override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.game_menu, menu) return true }
使用itens膨胀菜单后,您可能需要添加一些操作时,他们被选中:
Java的
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_item: // Action goes here return true; default: return super.onOptionsItemSelected(item); } }
科特林
override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { R.id.menu_item -> { // Action goes here true } else -> super.onOptionsItemSelected(item) } }