当前位置: 代码迷 >> Android >> 关于Menu的简单有关问题!
  详细解决方案

关于Menu的简单有关问题!

热度:89   发布时间:2016-04-28 06:46:22.0
关于Menu的简单问题!!!急!!!
请问在onCreateOptionsMenu(Menu menu)方法中,调用如下的增加菜单方法之后,单击“菜单4"的情况下为什么不显示子菜单1、2、3?急求
private void addMenu(){
menu.add("菜单1");
menu.add("菜单2");
menu.add("菜单3");
SubMenu submenu=menu.addSubMenu("菜单4");
submenu.setIcon(R.drawable.ic_launcher);
submenu.add("子菜单1");
submenu.add("子菜单2");
submenu.add("子菜单3").setOnMenuItemClickListener(this);
}
------解决方案--------------------
能来个图吗,实在没明白什么情况啊~~~~
------解决方案--------------------
你再onCreateOptionsMenu()方法中调用addMenu()这个方法,那menu这个传值传过来了没有,,,
------解决方案--------------------
引用:
就是我想做一个最简单的带有子菜单的菜单项,在单击“菜单4”时显示三个子菜单,代码如下
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
menu.add("菜单1");
menu.add("菜单2");
menu.add("菜单3");
SubMenu submenu=menu.addSubMenu("菜单4");
submenu.setIcon(R.drawable.ic_launcher);
submenu.add("子菜单1");
submenu.add("子菜单2");
submenu.add("子菜单3");
return true;
}
但是单击菜单4之后没任何反应,想问下是为什么。
你把这句话删了试试,getMenuInflater().inflate(R.menu.main, menu);如果还不行,我再帮你看看
------解决方案--------------------
@Override
public boolean onCreateOptionsMenu(Menu menu) {
try {
menu.add(0, 1, 1, R.string.menu_gengxin);
menu.getItem(0).setIcon(R.drawable.gengxinmenu);

menu.add(0, 2, 2, R.string.menu_shezhi);
menu.getItem(1).setIcon(R.drawable.shezhi);

menu.add(0, 3, 3, R.string.menu_tuijian);
menu.getItem(2).setIcon(R.drawable.tuijianmenu);

menu.add(0, 4, 4, R.string.menu_guanyu);
menu.getItem(3).setIcon(R.drawable.guanyu);

SubMenu submenu=menu.addSubMenu("菜单4");
submenu.setIcon(R.drawable.ic_launcher);
submenu.add("子菜单1");
submenu.add("子菜单2");
submenu.add("子菜单3");
} catch (Exception e) {

} catch (Throwable e) {

}

return super.onCreateOptionsMenu(menu);
}
这样是可以的
  相关解决方案