如果你的layout对应的不是一个activity的话,你又要对每个layout设置不能的menu,也就是说menu里面的item是不一样的,那你就要复写onPrepareOptionsMenu(Menu menu)方法。
onCreateOptionsMenu(Menu menu)他只会在程序启动时加载一次,也就是说默认的加载,而如果复写了onPrepareOptionsMenu(Menu menu),那么当你点击menu键时每次都是加载这个函数,你可以在这里面做您想做的设置,不同的layout你看可以设置成不同的menu,比如:
public boolean onPrepareOptionsMenu(Menu menu){
super.onPrepareOptionsMenu(menu);
menu.clear();
switch(currLayout){
case Layout_1:
//你想设置的item
break;
case Layout_2:
//你想设置的item
break;
.
.
.
default:
break;
}
return super.onPrepareOptionsMenu(menu);
}
当布局不是单独的Activity且需要为每个布局设置不同菜单时,可以通过重写onPrepareOptionsMenu(Menu menu)方法实现动态加载。onCreateOptionsMenu(Menu menu)仅在启动时加载一次,而onPrepareOptionsMenu(Menu menu)在每次点击菜单键时调用,允许根据currLayout变量的值设置不同的菜单项。
418

被折叠的 条评论
为什么被折叠?



