for (String s : chunks) {
String possibleSquare = "s" + s.substring(2, 4);
int id = boardContext.getResources().getIdentifier(possibleSquare, "id", boardContext.getPackageName());
ImageView backgroundImg = (ImageView) findViewById(id);
backgroundImg.setBackgroundColor(Color.rgb(255, 255, 255));
}
相关代码如上。它来自类'Pawn'中的一个方法,它被另一个类'Chessboard'中的代码调用。现在,findViewById带下划线,AndroidStudio告诉我它'无法解析方法findViewById'。
我认为这是因为代码不知道在哪里搜索View,但我不确定如何表明它应该在我的'Board.XML'文件中搜索。
答案 0 :(得分:0)
您需要使用R.id.YOUR_ID而不仅仅是ID 例如
ImageView backgroundImg = (ImageView) findViewById(R.id.id);
答案 1 :(得分:0)
您可能在片段或独立类等中调用findViewById,它们没有findViewById方法。所以你需要将它传递给班级。
尝试:
boardContext.findViewBy(R.id.id);
for (String s : chunks) {
String possibleSquare = "s" + s.substring(2, 4);
int id = boardContext.getResources().getIdentifier(possibleSquare, "id", boardContext.getPackageName());
ImageView backgroundImg = (ImageView) boardContext.findViewById(id);
backgroundImg.setBackgroundColor(Color.rgb(255, 255, 255));
}