Сохранить картув комнату андроид - PullRequest
0 голосов
/ 17 марта 2019

У меня есть карта:

 @TypeConverters(StringListMapConverter::class)
    var variantColors: Map<String, List<String>>? =  null

и конвертер:

class StringListMapConverter {
    @TypeConverter
    fun fromString(value: String): Map<String, List<String>> {
        val mapType = object : TypeToken<Map<String, List<String>>>() {

        }.type
        return Gson().fromJson(value, mapType)
    }

    @TypeConverter
    fun fromStringMap(map: Map<String, List<String>>): String {
        val gson = Gson()
        return gson.toJson(map)
    }
}

, и я получаю сообщение об ошибке:

error: Cannot figure out how to save this field into database. You can consider adding a type converter for it.
    private java.util.Map<java.lang.String, ? extends java.util.List<java.lang.String>> variantColors;
                                                                                        ^   

как мне решить мою проблему?Куда мне добавить этот конвертер типов для List?

1 Ответ

0 голосов
/ 17 марта 2019

Определите эту аннотацию @TypeConverters(StringListMapConverter::class), в которой вы создаете экземпляр Room Database, например:

@Database(...)
@TypeConverters(StringListMapConverter::class)
abstract class AppDatabase : RoomDatabase() {
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...