gpt4 book ai didi

java - findViewById 出现问题,用图表解释

转载 作者:行者123 更新时间:2023-12-02 04:54:36 25 4
gpt4 key购买 nike

enter image description here

大家好。

我在上面发布了我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com