看来整数变量i是不可见的

use*_*431 2 java android

for (int i = 0; i < 9; i++)
{
    b[i].setOnClickListener(
        new OnClickListener()
        {
            public void onClick(View v)
            {
                justclicked(i);
            }
        }

    );
}
Run Code Online (Sandbox Code Playgroud)

我试图使用for循环在九个按钮上放置一个动作监听器.上面的代码给了我一个错误.由i的值引起的错误是不可见的吗?非常感谢,世界级专家@ Stack Overflow !!

Rya*_*art 6

不,这是因为i不是最终的,必须从匿名内部类访问.加

final int finalI = i;
Run Code Online (Sandbox Code Playgroud)

之前

b[i].setOnClickListener( ...
Run Code Online (Sandbox Code Playgroud)

然后使用finalI而不是i:justclicked(finalI);.

在那之后,想出一个更好的名字ifinalI.