Android笔记(四)Menu菜单

本文详细介绍如何在Android应用中创建上下文菜单,包括在res目录下建立menu文件夹及main.xml文件,定义菜单项,并在Activity中重写onCreateOptionsMenu()和onOptionsItemSelected()方法实现菜单的显示与响应。
摘要由CSDN通过智能技术生成

1.在res下新建一个menu文件夹,在menu文件夹里新建一个main.xml文件,编写如下代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/add"
        android:title="Add"/>
     <item
        android:id="@+id/remove"
        android:title="Remove"/>
</menu>

item标签用来创建菜单项,现在我们就有了add和remove两个菜单项

2.在activity中重写 onCreateOptionsMenu()方法

 public boolean onCreateOptionsMenu(Menu menu){
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }

通过 getMenuInflater()方法得到 MenuInflater 对象,然后通过inflate()方法就可以给当前活动创建菜单, inflate()方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,第二个参数用于指定我们的菜单项将添加到哪一个 Menu 对象当中,这里直接使用 onCreateOptionsMenu()方法中传入的 menu 参数。返回值为true,表示创建的菜单能够显示。

3.重写 onOptionsItemSelected()方法,用来定义菜单点击之后的响应事件

public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {//判断点击了哪一个菜单项
            case R.id.add:
            Toast.makeText(this, "add菜单项", Toast.LENGTH_SHORT).show();
            break;
            case R.id.remove:
            Toast.makeText(this, "Remove菜单项", Toast.LENGTH_SHORT).show();
            break;
            default:
            }
            return true;
            }

4.运行程序,按下menu键,显示如下
这里写图片描述
5.当时写onCreateOptionsMenu方法的时候,少写了一个e,写成了onCreatOptionsMenu,坑爹的是竟然没有报错,找了很长时间才解决
推荐大家用eclipse菜单栏里的Source->Override/Implements methods来重写方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值