这是我从解析的 XML 动态创建菜单的函数,现在我希望当我按下物理后退按钮时它应该移动到上一个菜单。我已经阅读了很多关于此的文章,但仍然没有找到返回菜单的单曲。
public int create_menu(int level_n){
int lv=level_n;
if(flag){
base=0;
}
else{
base=lv-1;
}
ctr=true;
if(e[lv].getType().equals("menu")){
flag=false;
subm[lv]=subm[base].addSubMenu(0, lv, 0, e[lv].getName());
lv++;
for(int i=0;i<noChild[lv-1];i++){
if(e[lv+i].getType().equals("menu")){
create_menu(lv+i);
Log.i(TAG,"number= "+i);
flag=false;
}
else if (e[lv+i].getType().equals("action")){
if(ctr){
Log.i(TAG,"going to else"+e[lv].getName()+" " +i);
subm[lv]=subm[lv-1+i].addSubMenu(0, lv+i, 0, e[lv+i].getName());
//Log.i(TAG,"element = "+e[lv+1].getType() );
lv++;
create_menu(lv);
ctr=false;
}
flag=false;
}
}
flag=true;
}
else if(e[lv].getType().equals("action")){
if(flag==true && ctr==true)
{
subm[lv]=subm[base].addSubMenu(0, lv,0, e[lv].getName());
lv++;
}
else if(flag==false && ctr==false){
subm[lv]=subm[base-1].addSubMenu(0, lv, 0, e[lv].getName());
lv++;
}
}
return lv;
}