Android Studio中选项菜单的使用方法2-2

2 显示菜单

在程序的主活动中显示选项菜单,需要重写MainActivity类的onCreateOptionsMenu()方法,其代码如图8所示。

图8 重写onCreateOptionsMenu()方法

2.1 onCreateOptionsMenu()方法

图8①中的onCreateOptionsMenu()方法是MainActivity的父类的方法,该方法的作用是初始化Activity的标准选项菜单。当选项菜单第一次显示时,onCreateOptionsMenu()方法会被调用,之后就不会再被调用了。该方法的参数是Menu类的对象,即创建好的选项菜单。当选项菜单被成功显示后,onCreateOptionsMenu()方法返回true,否则返回false。

2.2 创建MenuInflater类的对象

图8②中通过getMenuInflater()方法获取与程序主活动的上下文相关的MenuInflater类。MenuInflater类用来将菜单XML文件实例化成菜单对象。

2.3 将菜单XML文件实例化成菜单对象

图8③通过MenuInflater类的对象mi,调用inflate()方法将菜单XML文件实例化成菜单对象。该方法的第一个参数XML文件的ID,R.menu.mymenu即为在“1.2 创建菜单文件”中创建的菜单文件;第二个参数转换后的菜单对象,menu是onCreateOptionsMenu()方法的参数,如图8①所示。图8③代码的作用是将菜单ID,R.menu.mymenu实例化成的菜单对象menu。

3 添加选项菜单的响应

重写MainActivity类的onOptionsItemSelected()方法可以实现选项菜单的响应。重写的onOptionsItemSelected()方法如图9所示。

图9 onOptionsItemSelected()方法

 3.1 onOptionsItemSelected()方法

只要选项菜单被选中,onOptionsItemSelected()方法就会被调用,图9①。该方法的参数是MenuItem接口的对象。MenuItem接口用来直接访问之前创建的选项菜单的项。如果使用默认的菜单项响应,则onOptionsItemSelected()方法返回false,如果使用自定义的菜单项响应,则返回true。

3.2 判断选中的菜单项

图9②中通过MenuItem接口的对象item,调用getItemId()来获取被选中的菜单项的ID。并且通过switch...case语句,根据不同的菜单项进行不同的处理,图9③、图9④所示,默认情况下调用其父类的onOptionsItemSelected()方法(图9⑤)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值