我一直致力于在 Kotlin 中学习 RecyclerViews,但遇到了一个我似乎无法解决的特定错误:
val itemsHashSet = HashSet(category.items)
产生错误:
<块引用>不能使用提供的参数调用以下函数。
((MutableCollection
我尝试过更改格式,甚至用 Java 编写代码,然后在 Android Studio 中将其转换都无济于事。
这是我一直坚持的课程:
class CategoryManager(private val context: Context) {
fun saveCategory(category: CategoryModel) {
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
val editor = sharedPreferences.edit()
val itemsHashSet = HashSet(category.items)
editor.putStringSet(category.name, itemsHashSet)
editor.apply()
}
fun retrieveCategories (): ArrayList<CategoryModel> {
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
val data = sharedPreferences.all
val categories = ArrayList<CategoryModel>()
for (item in data) {
val category = CategoryModel(item.key, arrayListOf(item.value.toString()))
categories.add(category)
}
return categories
}
}
对不起,如果我是个白痴,这很明显,但我在这里找不到一个有意义的适用答案。任何帮助表示赞赏
编辑:
类别模型:
package com.pwneill.favoritelistapp
class CategoryModel (name: String, items: ArrayList<String>) {
val name = name
val items = arrayOf(items)
}
答案 0 :(得分:0)
您可以像这样初始化 HashSet
:
val itemHashSet = hashSetOf(category.items)