Since i am not yet good in generics I would like to ask:
error
Cannot use 'T' as reified type parameter. Use a class instead
What am i missing? enumValueOf()
Not working …
class EnumSharedPreferenceProperty<T : Enum<T>>(
private val pref: SharedPreferences,
private val name: String,
) : ReadWriteProperty<Any, T> {
override fun getValue(thisRef: Any, property: KProperty<*>): T {
val enumName = pref.getString(name, "").orEmpty()
return enumValueOf(enumName)
}
override fun setValue(thisRef: Any, property: KProperty<*>, value: T) {
pref.edit().putString(name, value.name).commit()
}
}