Android开发基础之动态添加菜单项
2015-07-30 22:37
483 查看
我们在之前的一篇博客中使用了在xml中写死了菜单项Item,然后在java文件中进行响应。但是这种菜单项显得非常不灵活,不能动态的增加删除Item。其实在Android中可以在java文件中动态增加菜单项,提高整个App的灵活性。具体实现如下:
(1)在重写方法中onCreateOptionsMenu()方法中写入动态添加菜单项的代码:
(2)在重写方法onOptionsItemSelected()中写入按钮响应的代码,根据不同的ID值来识别不同的Item,其中ID值就是上述add()方法的第二个参数。
(3)运行程序,查看结果:
。
。
这样,我们就能灵活的使用菜单按钮来进行开发了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
(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 。欢迎大家访问!
相关文章推荐
- Android基础知识之四大组件Activity(二)一个Activity的生命周期?
- Android开发之两种方式实现连续点击两次返回键退出程序
- android 定时器的使用
- android 定时器的使用
- android 定时器的使用
- android 定时器的使用
- Android开发基础之菜单键的使用
- android 定时器的使用
- android 定时器的使用
- android 定时器的使用
- android 定时器的使用
- [Android问答] px、dp和sp,这些单位有什么区别?
- android 定时器的使用
- android 定时器的使用
- Android 多媒体开发学习之撕衣服
- Android中Activity切换时共享视图元素的切换动画(4.x兼容方案)
- android开发步步为营之69:Activity通过设置Theme模拟对话框效果
- 最流行的android组件大全
- Android 使用了aidl时,进行混淆
- Android中Handler的简单应用(二)