Android GameLogic.CROSS不工作-“;类型为“id”的预期资源;

Android GameLogic.CROSS不工作-“;类型为“id”的预期资源;,android,android-studio,Android,Android Studio,我正在尝试从教程中制作TictaToe应用程序。我对GameActivity.java中的switchTurn中的GameLogic.CROSS有问题: private void switchTurn(int position) { if (mTurn == TURN.CIRCLE) { mBlocks[position].setImageResource(R.drawable.circle); mBlocks[position].

我正在尝试从教程中制作TictaToe应用程序。我对GameActivity.java中的switchTurn中的GameLogic.CROSS有问题:

private void switchTurn(int position) {
        if (mTurn == TURN.CIRCLE) {
            mBlocks[position].setImageResource(R.drawable.circle);
            mBlocks[position].setId(GameLogic.CIRCLE);
            mTurn = TURN.CROSS;
            mDisplay.setText("CROSS's turn");
        } else {
            mBlocks[position].setImageResource(R.drawable.cross);
            mBlocks[position].setId(GameLogic.CROSS);
            mTurn = TURN.CIRCLE;
            mDisplay.setText("CIRCLE's turn");
        }
        mBlocks[position].setEnabled(false);
        mStatusCounter++;
        if (GameLogic.isCompleted(position + 1, mBlocks)) {
            mDisplay.setText(GameLogic.sWinner + " won");
            displayStick(GameLogic.sSet);
            disableAll();
        }else if (mStatusCounter==9){
            mDisplay.setText("DRAW. Try again");
        }
    }
GameLogic.CROSS上的Android Studio 2.0显示错误:

应为id类型的资源


这是一个错误,还是仅仅是一个警告?一个错误。我只有1个,我的应用程序不能很好地构建,这有点奇怪。我想你也会在
圈中得到同样的错误。IDE中可能有一个允许任意ID的选项。否则,您可以创建自己的ID来代替
GameLogic.CIRCLE
GameLogic.CROSS
。看一看。然后在代码中使用类似于
R.id.circle
R.id.cross
的内容。或者,您可以重构示例,使用
ImageView
s'标记而不是id,并保留
GameLogic
常量。GameLogic.CIRCLE不会将错误返回给meYeah,这就是为什么我说它很奇怪。我给了你三个可能的选择。试试看。