我在项目中使用LazyColumn。当我传递列表时,它给我错误。有人能指导我错误是什么吗?
**一个
@Composable
fun ResultScreen(nearestResultList: List<NearestResult>?) {
LazyColumn(
Modifier
.fillMaxSize()
.background(getBackgroundColor())
) {
items(nearestResultList) { nearestResult ->
Text(text = "$nearestResult")
}
}
}
错误
Type mismatch.
Required:
Int
Found:
List<NearestResult>?
更新
3条答案
按热度按时间2w2cym1i1#
您看到这个错误是因为您的
nearestResultList
可以为空,并且在items(...)
函数的各种签名/重载中,签名items(size: Int, ...)
被选为“最接近的匹配”。为了能够使用任何
items(...)
签名,您唯一需要做的事情就是空检查mdfafbf12#
hfyxw5xn3#
正确的解决方案是使用此导入:
问题是接受列表的items函数被定义为Extension函数,因此我们需要导入它以使其可见。