Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在微调器中获取枚举名称_Java_Android_Enums - Fatal编程技术网

Java 在微调器中获取枚举名称

Java 在微调器中获取枚举名称,java,android,enums,Java,Android,Enums,我目前正在spinner中进行月转换。 在这里,我试图从系统中检索currentmonth(“10”),并将month的值传递给enum以获得相应的enum名称(“Oct”) 我有从一月到十二月的微调器数组字符串。 当我试图获取枚举名“Oct”在微调器中的位置时,它返回空白。然而,当我尝试在getPosition中硬编码“Oct”时,它成功了。我无法找到getEnumByString返回空白的原因。有人能帮我吗 String tempMonth=String.valueOf(monthCurre

我目前正在spinner中进行月转换。 在这里,我试图从系统中检索currentmonth(“10”),并将month的值传递给enum以获得相应的enum名称(“Oct”)

我有从一月到十二月的微调器数组字符串。 当我试图获取枚举名“Oct”在微调器中的位置时,它返回空白。然而,当我尝试在getPosition中硬编码“Oct”时,它成功了。我无法找到getEnumByString返回空白的原因。有人能帮我吗

String tempMonth=String.valueOf(monthCurrent);
monthSpin.setSelection(adapterMonth.getPosition(MonthConversion.getEnumByString(tempMonth));
月版本:

 public enum MonthConversion {

 Jan("1"), Feb("2"), Mar("3"), Apr("4"),May("5"),Jun("6"),Jul("7"),Aug("8"),Sep("9"),Oct("10"),Nov("11"),Dec("12");

private String mValue;

private MonthConversion(String s) {
        mValue = s;
    }

    public String getStatusCode() {
        return mValue;
    }    
    public static String getEnumByString(String code){
          for(MonthConversion e : MonthConversion.values()){
            if(code == e.mValue)                    
                return e.name();
          }
          return null;
        }
}
试用

if (e.mValue.equals(code)) . . .
而不是比较字符串值。
=
操作符测试两个对象是否实际上是同一个对象,而不是它们是否具有相同的逻辑值
equals()
测试两个字符串是否具有相同的值:相同顺序的相同字符

您也可以考虑简单地索引到<代码>值()/<代码>数组:

int index = Integer.parseInt(code) - 1;
return MonthConversion.values()[index];

(当然,添加了适当的错误检查)。

发布您的MonthConversion。好消息:)。。非常感谢。。我错误地使用了
==
而不是equals。我变回了平等。它工作得很好。我还尝试了索引。它工作得很好。我只是将
MonthConversion.values()[index]
键入字符串并返回