Java 如何使微调器具有人类可读的选项,在保存时解析为机器代码?

Java 如何使微调器具有人类可读的选项,在保存时解析为机器代码?,java,android,Java,Android,我有预定义的类别名称和客户给我的相应机器代码。例如: BLDG-EXT=外部建筑问题 BLDG-INT=内部建筑问题 保管=保管服务 这只是大约二十个例子中的三个。问题是,我希望微调器向用户显示人类可读的选项(例如“外部建筑问题”),但当数据保存并存储到SQLite数据库中时,我希望将其保存为机器代码 我该怎么做 谢谢你, 亚历克斯 编辑:这是我当前的实现,它不包括机器可读的类别名称,只包括字符串 生成微调器(在onCreate()方法内): 并在strings.xml中 <string-

我有预定义的类别名称和客户给我的相应机器代码。例如:

BLDG-EXT=外部建筑问题
BLDG-INT=内部建筑问题
保管=保管服务

这只是大约二十个例子中的三个。问题是,我希望微调器向用户显示人类可读的选项(例如“外部建筑问题”),但当数据保存并存储到SQLite数据库中时,我希望将其保存为机器代码

我该怎么做

谢谢你,
亚历克斯

编辑:这是我当前的实现,它不包括机器可读的类别名称,只包括字符串

生成微调器(在onCreate()方法内):

并在strings.xml中

<string-array name="issue_categories">
    <item>Other</item>
    <item>Paint</item>
    <item>Lighting</item>
    <item>Flooring</item>
    <item>Custodial</item>
    <item>Furniture</item>
    <item>Exterior</item>
    <item>Plumbing</item>
    <item>Signage</item>
    <item>Parking</item>
    <item>Landscaping</item>
</string-array>

其他
油漆
照明
地板
保管
家具
外部
管道工程
标记
停车场
园林绿化

我建议使用两种不同的数组,每个数组中的每个等价项都位于相同的位置,因此您最终会执行类似的操作

   String[] machineCodes = getResources().getStringArray(R.array.machineCodes);
      String[] manCodes = getResources().getStringArray(R.array.manCodes);

  //set manCodes to spinner and spinner style

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> a, View v, int which, long id) {
                                    String machineCode = machineCodes[which];
            }
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                            }
        });
String[]machineCodes=getResources().getStringArray(R.array.machineCodes);
字符串[]manCodes=getResources().getStringArray(R.array.manCodes);
//将Mancode设置为微调器和微调器样式
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(适配器视图a、视图v、int-which、长id){
字符串machineCode=machineCodes[which];
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});

那么,是什么阻止了您获取内部代码、查找人工版本并显示它呢?但是,正确的方法是什么?微调器由适配器填充,所以我需要创建一个自定义适配器来保存类别吗?显示需要帮助的代码,没有它,我们猜测的不仅仅是帮助。我添加了一些代码。谢谢你的帮助,谢谢你。我试图找出如何在节省时间的情况下从微调器中检索机器代码,但是在位置改变时存储机器代码也非常有意义。
<string-array name="issue_categories">
    <item>Other</item>
    <item>Paint</item>
    <item>Lighting</item>
    <item>Flooring</item>
    <item>Custodial</item>
    <item>Furniture</item>
    <item>Exterior</item>
    <item>Plumbing</item>
    <item>Signage</item>
    <item>Parking</item>
    <item>Landscaping</item>
</string-array>
   String[] machineCodes = getResources().getStringArray(R.array.machineCodes);
      String[] manCodes = getResources().getStringArray(R.array.manCodes);

  //set manCodes to spinner and spinner style

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> a, View v, int which, long id) {
                                    String machineCode = machineCodes[which];
            }
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                            }
        });