Android开发基础之动态添加菜单项

来源:互联网 发布:机械键盘 程序员 知乎 编辑:程序博客网 时间:2024/06/15 17:27

      我们在之前的一篇博客中使用了在xml中写死了菜单项Item,然后在java文件中进行响应。但是这种菜单项显得非常不灵活,不能动态的增加删除Item。其实在Android中可以在java文件中动态增加菜单项,提高整个App的灵活性。具体实现如下:

(1)在重写方法中onCreateOptionsMenu()方法中写入动态添加菜单项的代码:

    @Override    public boolean onCreateOptionsMenu(Menu menu) {        menu.add(1, 100, 1, "菜单一");//动态添加一个按钮;        menu.add(1, 101, 1, "菜单二");//注意:第二个参数是Item的ID值;        menu.add(1, 102, 1, "菜单三");        menu.add(1, 103, 1, "菜单四");        menu.add(1, 104, 1, "菜单五");        return true;    }

(2)在重写方法onOptionsItemSelected()中写入按钮响应的代码,根据不同的ID值来识别不同的Item,其中ID值就是上述add()方法的第二个参数。

    @Override    public boolean onOptionsItemSelected(MenuItem item) {        int id = item.getItemId();        switch (id) {            case 100:                Toast.makeText(MainActivity.this, item.getTitle() + "被点击了", Toast.LENGTH_LONG).show();                break;            case 101:                Toast.makeText(MainActivity.this, item.getTitle() + "被点击了", Toast.LENGTH_LONG).show();                break;            case 102:                Toast.makeText(MainActivity.this, item.getTitle() + "被点击了", Toast.LENGTH_LONG).show();                break;            case 103:                Toast.makeText(MainActivity.this, item.getTitle() + "被点击了", Toast.LENGTH_LONG).show();                break;            case 104:                Toast.makeText(MainActivity.this, item.getTitle() + "被点击了", Toast.LENGTH_LONG).show();                break;        }        return true;    }

(3)运行程序,查看结果:



     这样,我们就能灵活的使用菜单按钮来进行开发了。


github主页:https://github.com/chenyufeng1991  。欢迎大家访问!

2 0
原创粉丝点击