- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好。
我在上面发布了我的 Android 项目的基本图。这很令人难过,但这就是 5 分钟的绘画所能带给你的。
无论如何,我会引导你完成它。我有带有一系列 imageView 的 xml,这些 imageView 在我的 board.Java 类中具有 onClickListeners 。如果单击其中一个 imageView,则会实例化 pawn.java 的一个实例,我将上下文传递给实例化的 pawn 对象,然后调用其 possibleMoves() 方法。
在此方法的最后,我生成了一个 int 列表,它恰好是 imageView 的 id。 possibleMoves() 的最后部分如下:
for (String s : chunks) {
String possibleSquare = "s" + s.substring(2, 4);
Toast.makeText(boardContext, possibleSquare, Toast.LENGTH_SHORT).show();
int id = boardContext.getResources().getIdentifier(possibleSquare, "id", boardContext.getPackageName());
System.out.println(id);
ImageView backgroundImg = (ImageView) findViewById(id);
backgroundImg.setBackgroundColor(Color.rgb(255, 255, 255));
}
return list;
我遇到的问题是 AndroidStudio 说我的 findViewById(id) 无法解析。我尝试将上下文 boardContext (传递给实例化 pawn 对象的上下文)放在 findViewById 前面,并且尝试使用 findViewById(R.id.id)。
建议?
最佳答案
findViewById(int id)
是 View
对象的函数 - here ..所以你不能在任何东西或任何对象上调用它。当您引用 Activity
并调用 findViewById(int id)
时,它会拉取 Activity 的 contentView 并对其进行调用。
因此,您的解决方案是,膨胀包含 ImageView 的 View 或获取对您的 Activity 的引用,或者如果您传递的上下文是一个 Activity 作为上下文,那么您可以将您的 Activity 转换为上下文并调用您喜欢的方法
关于java - findViewById 出现问题,用图表解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28910960/
我是一名优秀的程序员,十分优秀!