Cómo hacer coincidir int con el enum

Estoy recibiendo valor de retorno en forma de largo o int de código nativo en Android, que quiero convertir o coincidir con enum, para fines de procesamiento. Es posible ? ¿Cómo?

Si tiene el control total de valores y enums y es secuencial, puede usar el valor ordinal de enumeración:

enum Heyo { FirstVal, SecondVal } ...later int systemVal = [whatever]; Heyo enumVal = Heyo.values()[systemVal]; int againSystemVal = enumVal.ordinal(); 

Puede configurar su enum para que tenga el largo o int integrado en él.

Ejemplo: Crear este archivo ePasswordType.java

 public enum ePasswordType { TEXT(0), NUMBER(1); private int _value; ePasswordType(int Value) { this._value = Value; } public int getValue() { return _value; } public static ePasswordType fromInt(int i) { for (ePasswordType b : ePasswordType .values()) { if (b.getValue() == i) { return b; } } return null; } } 

A continuación, puede acceder a los valores asignados de la siguiente manera:

 ePasswordType var = ePasswordType.NUMBER; int ValueOfEnum = var.getValue(); 

Para obtener el enum cuando sólo conoce el int, utilice esto:

 ePasswordType t = ePasswordType.fromInt(0); 

Enums en java son muy poderosos ya que cada valor puede ser su propia clase.

  • Conversión de una cadena en un entero en Android
  • No se puede obtener la ubicación en Genymotion VM
  • Android: Obtener Emoji desde EmojiconEditText
  • Java: Eficaz ArrayList filtrado?
  • Native Crash SIGSEGV en Android JNI
  • SQLiteOpenHelper no puede llamar a onCreate?
  • Cómo codificar una cadena con Base64 en Android?
  • Android LoaderManager y CursorLoader Confusión
  • ¿Por qué se definen los métodos del ciclo de vida en la clase de actividad con el especificador de acceso protegido
  • Utilizando gps en un mapa estático en android?
  • Java.lang.IllegalStateException: No se pudo leer la fila 0, col 0 de CursorWindow
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.