Gson으로 SharedPreference에 저장된 List를 가져와 처리를 하려할때 Type이 소거돼 제대로된 타입을 읽지 못할때
hashCode, equals 가 제대로 동작 안한다.
reified T 를 통해 런타임때 타입추론이 가능하도록 변경
inline fun <reified T> getBookmarkedImageList(
sharedPref: SharedPreferences,
key: String,
type: Type
): List<T> {
val savedStringValue = sharedPref.getString(key, "[]")
var list = emptyList<T>()
if (savedStringValue != null && savedStringValue != "[]") {
list = GsonBuilder().create().fromJson(
savedStringValue, type
)
}
return list
}
'개발 > 삽질' 카테고리의 다른 글
Compose에서 Dialog안에 TextField 사용시 이슈 (0) | 2023.11.02 |
---|---|
MAC Android 환경변수 설정 (0) | 2023.07.21 |
implementation 했는데 import가 안될때 (0) | 2022.07.06 |
안드로이드 gradle 명령어 정리 (0) | 2022.01.26 |
안드로이드 Retrofit 통신시 null로 들어올때 (0) | 2020.12.13 |
댓글