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而不是ijustclicked(finalI);
然后,为ifinalI想出一个更好的名字。

关于java - 似乎整数变量i不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7810995/

10-09 19:29