Android GameLogic.CROSS不工作-“;类型为“id”的预期资源;
我正在尝试从教程中制作TictaToe应用程序。我对GameActivity.java中的switchTurn中的GameLogic.CROSS有问题: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].
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,这就是为什么我说它很奇怪。我给了你三个可能的选择。试试看。