我们在之前的一篇博客中使用了在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; }
@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; }
这样,我们就能灵活的使用菜单按钮来进行开发了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!