什么是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) } }