首页 > 解决方案 > 为什么简单的 for 循环在 onCreate 方法中有效,而在 MainActivity 类中无效?

问题描述

我正在学习 Android,我在 Android 的 Main Activity 类中遇到了循环的异常行为。考虑以下代码:

public class MainActivity extends AppCompatActivity {
int game_board[][] = new int[3][3];    
    int limit = 3;
    for(int row = 0; row < limit; row++){
        for(int column = 0; column < limit; column++){
            game_board[row][column] = -1;
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        for(int row = 0; row < limit; row++){
            for(int column = 0; column < limit; column++){
                game_board[row][column] = -1;
            }
        }
    }
}

MainActivity 类中的 for 循环给了我一个编译时错误列表(所有语法),例如:error: ')' expected, error: ';' 预期用于外部rowfor 循环。但是相同的嵌套 for 循环不会在 onCreate 方法中引发任何错误。

发生这种情况的原因是什么?它与 UI 线程有关还是只是一个基本概念?(还重新启动了 Android Studio,但仍然遇到同样的问题)。提前致谢。

标签: javaandroidsyntax-error

解决方案


这与 UI 线程无关——您根本无法将代码块直接放在类中。它必须驻留在方法、构造函数或初始化程序块中。


推荐阅读