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

      我们在之前的一篇博客中使用了在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)运行程序,查看结果:

Android开发基础之动态添加菜单项_第1张图片


Android开发基础之动态添加菜单项_第2张图片


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


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

你可能感兴趣的:(Android开发,Android开发技术分享)