对没有开关盒选择的菜单选项做出反应

时间:2015-08-25 16:34:25

标签: android android-layout

所以我做了一个花哨的微调器菜单,里面有很多选项,只需要改变一个变量,然后调用另一个函数。目前我这样做:

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标签,以便识别它们?

1 个答案:

答案 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;

我的意思是它不可能真的比这更优雅,它实际上归结为此时你和你在此工作的任何人的可读性。