所以我做了一个花哨的微调器菜单,里面有很多选项,只需要改变一个变量,然后调用另一个函数。目前我这样做:
switch (item.getItemId()) {
case R.id.action_settings:
return true;
case R.id.optA:
option = "a";
fillContent(option);
return true;
case R.id.optB:
option = "b";
fillContent(option);
return true;
case R.id.optC:
option = "c";
fillContent(option);
return true;
case R.id.optD:
option = "d";
fillContent(option);
return true;
}
是否有更优雅(更少切换案例/重复)的方式?还有很多选项,我不想复制代码。我目前没有使用设置,但我可能会在将来使用。
是否可以为我需要的所有菜单选项添加一些额外的XML标签,以便识别它们?
答案 0 :(得分:1)
switch (item.getItemId()) {
case R.id.action_settings:
return true;
case R.id.optA:
option = "a";
break;
case R.id.optB:
option = "b";
break;
case R.id.optC:
option = "c";
break;
case R.id.optD:
option = "d";
break;
}
fillContent(option);
return true;
我的意思是它不可能真的比这更优雅,它实际上归结为此时你和你在此工作的任何人的可读性。