for (int i = 0; i < 9; i++)
{
b[i].setOnClickListener(
new OnClickListener()
{
public void onClick(View v)
{
justclicked(i);
}
}
);
}
我正在尝试使用for循环在九个按钮上放置一个动作侦听器。上面的代码给了我一个错误。这个错误是由i的值不可见引起的吗?非常感谢,世界级专家@stack overflow!!
最佳答案
不,这是因为i
不是final,必须从匿名内部类访问它。
添加
final int finalI = i;
之前
b[i].setOnClickListener( ...
然后使用
finalI
而不是i
:justclicked(finalI);
。然后,为
i
和finalI
想出一个更好的名字。关于java - 似乎整数变量i不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7810995/