|
|
|
|
移动端

更新StatusActivity,加载菜单

《Learning Android(中文版)》第7章首选项、文件系统、选项菜单及Intent,本章我们讲解首选项功能的实现、文件系统的组织方式,以及如何通过intent与选项菜单在不同活动之间进行切换。本节为大家介绍更新StatusActivity,加载菜单。

作者:李亚舟/任中龙/杜钢译来源:电子工业出版社|2012-07-27 11:10

更新StatusActivity,加载菜单

前面提到,当用户单击设备的菜单按钮的时候,这个选项菜单才会加载到你的活动中。菜单按钮第一次被按下时,系统会调用活动的onCreateOptionsMenu()方法,从menu.xml资源文件中解析并加载菜单。这个过程与56页的“StatusActivity Java类”一节中提到的,从布局资源中投射用户界面的做法很相似,基本上都是负责解析的程序去读取XML代码,为其中的每个XML元素创建对应的Java对象,并相应地设置每个XML对象的属性。

可以看出,只要活动不被销毁,这个菜单就会一直存在于内存中,而onCreateOptionsMenu()也不会被再次执行。但是,用户每次选择菜单项,onOptionsItemSelected()都会被调用一次,以处理这次点击。这将在下一节进行讨论。

我们需要更新StatusActivity来加载选项菜单,因此,在StatusActivity中加入一个onCreateOptionsMenu()方法。这个方法将只在用户第一次按下菜单按钮时被调用。

  1. // 在第1次点击菜单按钮时触发  
  2. @Override  
  3. public boolean onCreateOptionsMenu(Menu menu) {  
  4. MenuInflater inflater = getMenuInflater(); // .  
  5. inflater.inflate(R.menu.menu, menu); // .  
  6. return true; // .  

从上下文中获取MenuInflater对象。

使用这个解析器对象从XML资源文件中解析这个菜单。

要让菜单显示出来,必须返回true。

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Microsoft SQL Server 2005技术内幕:存储引擎

本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊