我不明白如何修复以及为什么会出现以下错误:
类型不匹配。必需:TestList 找到:字符串
一个单独的类包含带有一个字符串数组名称参数的TestList数据类
data class TestList (val names: ArrayList<String>)
接下来在 MainActivity 我从TestList创建一个 recList列表
val recList = ArrayList<TestList>()
接下来,我需要用字符串数据填充这个数组:
for((key) in data.legends.all){
recList.add(key)
}
好吧,实际上在这个地方我得到了这个错误,为什么会这样?如何解决?
您需要一个一维列表,但您已经创建了一个二维列表。因此,您有一个包含可变名称列表的类
names
:要创建此类的实例,您只需要调用构造函数并在那里传递一个空列表:
此外,
names
您可以按以下方式进行补充:升级版:
事实证明,
TestList
实际上它应该被调用TestItem
并且包含name
,而不是names
:如果列表的实现完全是 ArrayList 对您来说并不重要,那么最好以这种方式在 Kotlin 中创建一个可变列表:
在循环中,我们只需创建一个新实例
TestItem
并将其添加到列表中: