问题描述
我那里有这个奇怪的错误
val limit: Int = applicationContext.resources.getInteger(R.integer.popupPlayerAnimationTime)
for(i in limit) {
}
我找到了关于该错误的类似答案,但没有人为我工作
1楼
如果您使用:
for(item in items)
items
需要一个iterator
方法;
您正在遍历对象本身。
如果要迭代范围内的int,则有两个选择:
for(i in 0..limit) {
// x..y is the range [x, y]
}
要么
for(i in 0 until limit) {
// x until y is the range [x, y>
}
这两种创建IntRange
,延伸IntProgression
,它实现了Iterable
。
如果使用其他数据类型(即float,long,double),则相同。
供参考,这是完全有效的代码:
val x: List<Any> = TODO("Get a list here")
for(item in x){}
因为List
是一个Iterable。
Int
不是,这就是为什么您的代码不起作用的原因。