7.2.3. 更新StatusActivity,装载菜单

优质
小牛编辑
131浏览
2023-12-01

7.2.3.更新StatusActivity,装载菜单

前面提到,菜单是在用户按下设备的菜单按钮时打开。在用户第一次按下菜单按钮时,系统会触发Activity的onCreateOptionsMenu()方法,在这里装载menu.xml文件中表示的菜单。这与第六章StatusActivity类中为Activity装载布局文件的做法有些相似。都是读取XML文件,为其中的每个XML元素创建一个Java对象,并按照XML元素的属性初始化对象。

可以看出,只要Activity不被销毁,这个菜单就会一直储存在内存中,而onCreateOptionsMenu()最多只会被触发一次。当用户选择某菜单项时,会触发onOptionsItemSelected,这在下一节讨论。

我们需要为Activity加入装载菜单的相关代码,为此加入onCreateOptionsMenu()方法。它将只在用户第一次按下菜单键时触发。

// Called first time user clicks on the menu button

@Override

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater(); //

inflater.inflate(R.menu.menu, menu); //

return true; //

}

  1. 获取MenuInflater对象。
  2. 使用inflater对象装载XML资源文件。
  3. 要让菜单显示出来,必须返回True。