Sub Name: ENumClass
Description: This Class allows access to Java Enum's. If you're dabbling with JavaObject, it won't be too long before you come across an ENum. Some methods that require Enums will accept Strings, but others insist on the Enum Object. With this class you can get the Enum Object.
Usage:
Depends On: JavaObject
Tags: Enum B4a
Description: This Class allows access to Java Enum's. If you're dabbling with JavaObject, it won't be too long before you come across an ENum. Some methods that require Enums will accept Strings, but others insist on the Enum Object. With this class you can get the Enum Object.
B4X:
'Class module
Sub Class_Globals
Private EnumJO As JavaObject
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize(ClassName As String)
EnumJO.InitializeStatic(ClassName)
End Sub
'Return the Constant for a given Constant String Text
Sub ValueOf(Text As String) As Object
Return EnumJO.RunMethod("valueOf",Array(Text))
End Sub
'Returns an array containing the constants of this enum type, in the order they are declared.
Sub Values As Object()
Return EnumJO.RunMethod("values",Null)
End Sub
'Returns an array containing a string representation of the constants of this enum type, in the order they are declared.
Sub ValueStrings As String()
Dim ValueObjects() As Object = Values
Dim JO As JavaObject
Dim ReturnStrings(ValueObjects.Length) As String
For i = 0 To ValueObjects.Length - 1
JO = ValueObjects(i)
ReturnStrings(i) = JO.RunMethod("toString",Null)
Next
Return ReturnStrings
End Sub
Usage:
B4X:
Dim PaintStyle As ENumClass
PaintStyle.Initialize("android.graphics.Paint.Style")
Log(PaintStyle.ValueOf("FILL"))
Log(GetType(PaintStyle.ValueOf("FILL")))
Depends On: JavaObject
Tags: Enum B4a