Androidのネイティブコードからlongまたはintの形式で戻り値を受け取っています。これを処理するために、enumと変換または照合する必要があります。出来ますか ?どうやって?
値と列挙型を完全に制御でき、それらが連続している場合、列挙型の序数値を使用できます。
enum Heyo
{
FirstVal, SecondVal
}
...later
int systemVal = [whatever];
Heyo enumVal = Heyo.values()[systemVal];
int againSystemVal = enumVal.ordinal();
列挙型をセットアップして、それにlongまたはintを組み込むことができます。
例:このファイルを作成します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;
}
}
その後、次のように割り当てられた値にアクセスできます。
ePasswordType var = ePasswordType.NUMBER;
int ValueOfEnum = var.getValue();
Intのみを知っているときに列挙型を取得するには、これを使用します。
ePasswordType t = ePasswordType.fromInt(0);
Javaの列挙は、各値が独自のクラスになり得るため非常に強力です。