Android笔记(四)Menu菜单

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键,显示如下
Android笔记(四)Menu菜单_第1张图片
5.当时写onCreateOptionsMenu方法的时候,少写了一个e,写成了onCreatOptionsMenu,坑爹的是竟然没有报错,找了很长时间才解决
推荐大家用eclipse菜单栏里的Source->Override/Implements methods来重写方法

你可能感兴趣的:(android,menu)