您的位置:首页 > 移动开发 > Android开发

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

2015-07-30 22:37 483 查看
      我们在之前的一篇博客中使用了在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  。欢迎大家访问!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: