例如:
for (int i = 0; i < 10; i++){
SomeClass something = new SomeClass();
something.setOnClickListener(new OnClickListener() {
public void onClick(){
doSomething(i);
}
});
}
我不允许使用变量i
,Eclipse建议我制作i
final
,但我不能这样做,因为我需要它才能正确迭代?
答案 0 :(得分:6)
将i
复制到循环体中的final
变量。
for (int i = 0; i < 10; i++){
final int j = i;
SomeClass something = new SomeClass();
something.setOnClickListener(new OnClickListener() {
public void onClick(){
doSomething(j);
}
});
}
答案 1 :(得分:1)
你可以做到
loop with i
final int k = i
annonymousClass