Flutter / Dart Convert Int to Enum

Question

Asked by henrykodev on July 05, 2018 (source).

Is there a simple way to convert an integer value to enum? I want to retrieve an integer value from shared preference and convert it to an enum type.

My enum is:

enum ThemeColor { red, gree, blue, orange, pink, white, black };

I want to easily convert an integer to an enum:

final prefs = await SharedPreferences.getInstance();
ThemeColor c = ThemeColor.convert(prefs.getInt('theme_color')); // something like that

Answer

Question answered by Günter Z (source).

int idx = 2;
print(ThemeColor.values[idx]);

should give you

ThemeColor.blue
DART ENUMS FLUTTER
SHARE: