问题
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
回答1:
int idx = 2;
print(ThemeColor.values[idx]);
should give you
ThemeColor.blue
回答2:
You can use:
ThemeColor.red.index
should give you
0
来源:https://stackoverflow.com/questions/51190035/flutter-dart-convert-int-to-enum